【问题标题】:jquery show button if all selectboxes are selected如果选择了所有选择框,则 jquery 显示按钮
【发布时间】:2013-02-02 17:04:36
【问题描述】:
$("select").bind("change", function(event) {
    if ("" != $("option:selected", this).val() && "" != $("option:selected", $("select")).val()) {
        $("#submit").fadeIn();
    } else {
        $("#submit").hide();          
    }
});

我在一个表单中有七个选择框和一个提交按钮。我想仅显示所有选择框的提交按钮(其中一些具有没有值的默认选项,仅当所选选项包含值时按钮才应处于活动状态)。正在使用此代码,但在我开始使用 ajax 从另一个 php 文件中获取四个选择框后它没有工作。

如何修改此代码?

【问题讨论】:

    标签: jquery select hide show


    【解决方案1】:

    您可以将长度属性与返回selected的选择器一起使用,选择值不等于empty字符串。

    $("select").bind("change", function(event) {
        if($("select:selected[value!='']").length == $("select").length)
             $("#submit").fadeIn();
        else 
             $("#submit").hide(); 
    });
    

    我建议您使用一些 class 和 select 来具体说明。

    $(".select-class").bind("change", function(event) {
        if($(".select:selected[value!='']").length == $(".select").length)
             $("#submit").fadeIn();
        else 
             $("#submit").hide(); 
    });
    

    【讨论】:

    • 默认的空值呢?
    • 属性选择器会检查像 [value!=''] 这样的值,更新了我的答案。
    【解决方案2】:

    试试这个:

    $("select").bind("change", function(event) {
        if($("select:selected[value!='']").length == $("select").length)
             $("#submit").fadeIn();
        else 
             $("#submit").hide(); 
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      • 2011-02-01
      • 2017-09-02
      相关资源
      最近更新 更多