2016-04-29 15 views
0

Ich muss Datenattribut mit jQuery filtern. Zuerst möchte ich über Selectbox filtern und dann mit Kontrollkästchen filtern. Alles, was ich will, ist, wenn ich beide Textfelder überprüfte, werden alle Daten angezeigt. Aber jetzt zeigt es nur das erste Datenkästchen an. Bitte sehen Sie Geige. https://jsfiddle.net/legazy7891/t9krfjpy/4/jQuery mehrere Filter Datenattribute

An, wenn die Bedingung habe ich versucht:

if ($('.3').is(':checked')) { chkBox.datatest = "1"; } 
else if ($('.4').is(':checked')) { chkBox.datatest = "6"; } 
else if ($('.3').is(':checked') && $('.4').is(':checked')) { chkBox.datatest = ""; } 
else { chkBox.datatest = ""; } 

Aber es funktioniert nicht.

Referenz: JQuery - Filtering data attributes with multiple filters of different inputs

Jede Hilfe zu schätzen wissen würde. Danke

Antwort

1

Das Problem ist mit der Reihenfolge der Bedingung. Wenn Sie beide Kontrollkästchen aktivieren, wird die erste Bedingung erfüllt $('.3').is(':checked') und chBox.dataset wird auf 1 gesetzt. Es wird nicht in die dritte Bedingung gehen.

Versuchen folgende

if ($('.3').is(':checked') && $('.4').is(':checked')) { 
    chkBox.datatest = ""; 
} else if ($('.3').is(':checked')) { 
    chkBox.datatest = "1"; 
} else if ($('.4').is(':checked')) { 
    chkBox.datatest = "6"; 
} else { 
    chkBox.datatest = ""; 
} 
+0

Was für ein dummer Fehler. Danke –

+0

Wie wäre es, wenn ich mehr als 2 Checkboxen habe? Ich denke, dass ich bessere Methode brauche, anstatt Bedingung in jedem einzelnen Checkbox hinzuzufügen –