按下拉列表过滤用户

关于过滤多个下拉菜单的用户,我有一个问题,我有3个下拉菜单和一个输入类型号码,我还有2个开关按钮,我希望所有这些都可以一起工作,所以这是我的hmtl

  • SHOW ONLY PROJECT MEMBERS:
  • SHOW INACTIVE EMPLOYEES:
  • PROFESSION
  • TYPE INTERNAL EXTERNAL
  • AGE
  • GENDER MALE FEMALE
  • 我试过这个过滤但它只能单独工作,所以如果我过滤专业它工作正常,但如果我想过滤职业管道工33岁和性别男性比它不起作用,他们都分开工作,这是我的代码如何过滤它们

     var match = function(prof, type,age,gender, profile) { var show = (prof === 'PROFESSION' || prof === $(profile).data('profesion') && type === 'TYPE' || type === $(profile).data('type') && age === 'AGE' || age === $(profile).data('age') && gender === 'GENDER' || gender === $(profile).data('gender')); if (show && !$(profile).is(':visible')) { $(profile).fadeIn(); } if (!show && $(profile).is(':visible')) { $(profile).fadeOut(); } }; var filter = function() { var filterByProfession = $('#filterByProfession').val(); var filterByType = $('#filterByType').val(); var filterByAge = $('#filterByAge').val(); var filterByGender = $('#filterByGender').val(); $('.filterUserBy').each(function(i, profile) { match(filterByProfession, filterByType,filterByAge,filterByGender, profile); }); }; 

    然后我调用每个下拉列表的更改函数

     $('#filterByProfession').change(function () { filter(); }); //sort users by age $('#filterByAge').on("input",function () { filter(); }); //sort by type..... $('#filterByType').change(function () { filter(); }); //filter by gender...... $('#filterByGender').change(function () { filter(); }); 

    我将非常感谢您的帮助,或者可能是不同类型的解决方案