这里需要一些帮助。我正在我的项目上处理数据属性过滤器,需要使用1个下拉列表和4个复选框进行过滤(可能更多)。我已经完成了简单的过滤器,其中包含1个下拉列表和下面的代码后面的2个复选框
$('#filterDiv').on("change keyup", function() {
chkBox = { datatest: null };
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 = "";
}
$("p").hide().filter(function() {
var rtnData = "";
regExA = new RegExp($('#1').val().trim(), "ig");
regExTest = new RegExp(chkBox.datatest, "ig");
rtnData = (
$(this).attr("data-name").match(regExA) &&
$(this).attr("data-test").match(regExTest)
);
//console.log(rtnData);
return rtnData;
}).show();
});
这里是小提琴=> https://jsfiddle.net/legazy7891/t9krfjpy/7/
如上所示,逻辑仅适用于2个复选框,我不想为每个复选框创建条件(if else)。
任何帮助都将不胜感激。 感谢