jQuery没有使用select2隐藏指令

时间:2013-09-18 21:17:32

标签: jquery jquery-select2

我有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”语句中的语法错误。

1 个答案:

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