2017-10-10 2 views
2

Ich mache ein einfaches Filtersystem, bei dem jeder li-Wert eine bestimmte Beschreibung hat. Derzeit arbeitet es mit einer IF-Anweisung, aber ich möchte es in einen Switch konvertieren. Ist das möglich?li jquery on click: wenn zu wechseln

Vielen Dank im Voraus.

Mein Code:

$("ul.simplefilter").on('click', 'li', function (e) { 

if($(this).text() == "Iedereen"){ 
    $("#uitleg p").remove(); 
    $("#uitleg").append("<p>Iedereen</p>");   
} 
else if($(this).text() == "Coach studentenparticipatie"){ 
    $("#uitleg p").remove();  
    $("#uitleg").append("<p>Coach studentenparticipatie</p>"); 
} 
else if($(this).text() == "Communicatie"){ 
    $("#uitleg p").remove();  
    $("#uitleg").append("<p>Communicatie</p>"); 
} 
else if($(this).text() == "Coördinator"){ 
    $("#uitleg p").remove();  
    $("#uitleg").append("<p>Coördinator</p>"); 
} 
}) 
+0

'switch ($ (this) .text)' und passen cases 'case "Iedereen": 'etc – abhishekkannojia

+0

Angenommen, Dinge. Versuchen Sie: '$ ('# uitleg') .html ('

' + $ (this) .text() + '

');' – Tushar

Antwort

2

Ist das möglich?

Ja, verwenden Sie einfach switch Anweisung.

$("ul.simplefilter").on('click', 'li', function (e) { 
    switch($(this).text()){ 
    case "Iedereen": 
     $("#uitleg p").remove(); 
     $("#uitleg").append("<p>Iedereen</p>"); 
     break; 
    case "Coach studentenparticipatie": 
     $("#uitleg p").remove();  
     $("#uitleg").append("<p>Coach studentenparticipatie</p>"); 
     break; 

    } 
}); 

Sie können aber auch, dass mit einzelner Zeile mit .html() Methode erreichen.

$("ul.simplefilter").on('click', 'li', function (e) { 
    $('#uitleg').html('<p>'+$(this).text()+'</p>'); 
}); 

Wenn Sie zum Beispiel 100 Werte es teuer ist, 100 Fälle zu schreiben, nur .html() Methode verwenden.

0

Die switch-Anweisung wird wie folgt aussehen:

$("ul.simplefilter").on('click', 'li', function (e) { 

switch($(this).text()){ 
    case "Iedereen" : 
     $("#uitleg p").remove(); 
     $("#uitleg").append("<p>Iedereen</p>"); 
     break; 
.... 

PS. Vergessen Sie nicht die break; auf jeden Fall.