我的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();
}
});
任何帮助将不胜感激。
答案 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();
}
});
另外,我发现隐藏所有内容更容易,然后专门展示你需要的内容。