【问题标题】:jQuery not working with select2 hiding instructionsjQuery 不能使用 select2 隐藏指令
【发布时间】:2013-09-18 21:17:32
【问题描述】:

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

【问题讨论】:

  • 如果条件语句多于一行,请使用括号,否则会中断。
  • 像这样:if($(this).val()){ $("#subject-search").select2("enable", false); $("#special-search").select2("enable", false);}?
  • 是的,否则语句不知道在哪里结束
  • 好吧,有点工作。第一个和第三个 select2 的条件都满足了,但是当使用第二个时,只有第一个 select2 禁用。
  • 编辑你的代码,你也应该添加你正在使用的 HTML。这会有所帮助。

标签: jquery jquery-select2


【解决方案1】:

根据 cmets,这是您的答案形式的代码 - 只需添加括号。很高兴它有效!

$("#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);
        }
    });

【讨论】:

    猜你喜欢
    • 2020-03-09
    • 2019-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 2021-06-02
    • 2015-05-29
    • 1970-01-01
    • 2013-07-03
    相关资源
    最近更新 更多