按下拉列表过滤用户

时间:2018-02-06 13:17:22

标签: javascript jquery

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

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);
    });
};

我试过这个过滤但它只能单独工作,所以如果我过滤专业它工作正常,但如果我想过滤职业水管工33岁和性别男性比它不起作用,他们都工作另外,这是我的代码如何过滤它们

$('#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();
    });

然后我在更改每个下拉列表时调用该函数

<chunk reader="myItemReader" processor="myItemProcessor" 
    writer="myClassifierCompositeWriter">
    <streams>
        <stream ref="myXmlItemWriter" />
    </streams>
</chunk>

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

0 个答案:

没有答案