jQuery多个过滤器(复选框和下拉列表)数据属性

时间:2016-05-06 04:46:12

标签: jquery

这里需要一些帮助。我正在我的项目上处理数据属性过滤器,需要使用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)。

任何帮助都将不胜感激。 感谢

0 个答案:

没有答案