0

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

4

1 回答 1

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);
        }
    });
于 2013-09-18T21:27:27.380 回答