每次选择后jquery表单过滤器都不会重置

时间:2017-10-06 13:45:26

标签: jquery laravel

我的jquery表单过滤器有点问题,我根据3个选项进行过滤,但只有在清除选择时才会重置。如果选择选项3然后选择选项1,它会保留选项3过滤器,只添加选项1过滤器,它不会重置,只会实现选项1过滤器。

这是我的代码:

$("#Customer_Category").on("change", function () {
    if (this.value && this.value == 1) {
        $("#Legal_Name,#Branch,#Trading_Name").parents('.form-group').hide();
    }
    else if (this.value && this.value == 2) {
        $("#First_Name,#Last_Name,#Village,#dob").parents('.form-group').hide();
    }
    else if (this.value && this.value == 3) {
        $("#First_Name,#Last_Name,#Village,#id_number,#dob").parents('.form-group').hide();
    }
    else {
        $("#First_Name,#Last_Name,#Village,#id_number,#Legal_Name,#Branch,#Trading_Name").parent('div').parent('div').show();
    }
});

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您需要显示所有内容,然后隐藏您不希望用户看到的内容,否则效果会相加。

$("#Customer_Category").on("change",function(){

$("#First_Name,#Last_Name,#Village,#id_number,#Legal_Name,#Branch,#Trading_Name").parent('div').parent('div').show();

    if(this.value && this.value == 1) {
        $("#Legal_Name,#Branch,#Trading_Name").parents('.form-group').hide();
    }
    else if (this.value && this.value == 2) {
        $("#First_Name,#Last_Name,#Village,#dob").parents('.form-group').hide();
    }
    else if (this.value && this.value == 3) {
        $("#First_Name,#Last_Name,#Village,#id_number,#dob").parents('.form-group').hide();
    }       
});

另外,我发现隐藏所有内容更容易,然后专门展示你需要的内容。