jQuery多个过滤数据属性

时间:2016-04-29 02:48:19

标签: jquery

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

如果条件我已经尝试过:

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 个答案:

答案 0 :(得分: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 = "";
}