我有3个select2框,当使用一个框时,页面需要禁用其他两个框。我有以下代码,但它不起作用。当页面加载时,所有select2都会消失(它们在HTML中被设置为隐藏输入):
$("#collection-search").change(function(){
if($(this).val())
$("#subject-search").select2("enable", false);
$("#special-search").select2("enable", false);
else
$("#subject-search").select2("enable", true);
$("#special-search").select2("enable", true);
});
$("#subject-search").change(function(){
if($(this).val())
$("#collection-search").select2("enable", false);
$("special-search").select2("enable", false);
else
$("#collection-search").select2("enable", true);
$("special-search").select2("enable", true);
});
$("#special-search").change(function(){
if($(this).val())
$("#collection-search").select2("enable", false);
$("#subject-search").select2("enable", false);
else
$("#collection-search").select2("enable", true);
$("#subject-search").select2("enable", true);
});
为什么会发生这种情况?我正在浏览FireBUG,但没有任何有用的信息显示出来。我唯一能看到的是jquery.min.js中“else”语句中的语法错误。
答案 0 :(得分:0)
根据评论,这是您的答案形式的代码 - 只需添加括号。很高兴它有效!
$("#collection-search").change(function(){
if($(this).val()) {
$("#subject-search").select2("enable", false);
$("#special-search").select2("enable", false);
}
else {
$("#subject-search").select2("enable", true);
$("#special-search").select2("enable", true);
}
});
$("#subject-search").change(function(){
if($(this).val()) {
$("#collection-search").select2("enable", false);
$("special-search").select2("enable", false);
}
else {
$("#collection-search").select2("enable", true);
$("#special-search").select2("enable", true);
}
});
$("#special-search").change(function(){
if($(this).val()) {
$("#collection-search").select2("enable", false);
$("#subject-search").select2("enable", false);
}
else {
$("#collection-search").select2("enable", true);
$("#subject-search").select2("enable", true);
}
});