2016-04-29 91 views
0

我需要使用jQuery过滤数据属性。 首先我想通过选择框过滤,然后用复选框过滤。我想要的是当我检查两个文本框,数据将显示所有。但现在,它只显示第一个数据复选框。请看小提琴。 https://jsfiddle.net/legazy7891/t9krfjpy/4/jQuery多个过滤器数据属性

此时如果条件我已经试过:

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 = ""; } 

但它不工作。

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

任何帮助将升值。谢谢

回答

1

问题是与条件的顺序。当您同时选中复选框时,第一个条件将得到满足$('.3').is(':checked')chBox.dataset将被设置为1.它不会进入第三个条件。

尝试以下

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

多么愚蠢的错误。谢谢 –

+0

如果我有两个以上的复选框,怎么样?我想我需要更好的方法,而不是在每个复选框中添加条件 –