【问题标题】:jQuery disable all button of a css classjQuery禁用css类的所有按钮
【发布时间】:2010-09-22 12:34:31
【问题描述】:

我有 n 个按钮。 此按钮具有相同的名称:setAlg。

我会禁用所有具有此名称的按钮。

我试过了

$("input[name='setAlg']").attr("disabled",true);

但它不起作用。

我该怎么办?

非常感谢。

【问题讨论】:

  • 你有示例标记吗?你所拥有的应该适用于<input type="button"> 元素。

标签: jquery button


【解决方案1】:

确保将代码包装在就绪处理程序中:

$(function(){
  $("input[name='setAlg']").attr("disabled", true);
});

但是,如果您对这些输入字段使用相同的类(根据您的问题标题),则需要尝试这样做:

$(function(){
  $("input.myclass").attr("disabled", true);
});

myclass 应该是用于这些输入字段的类名。

【讨论】:

  • 第二种方式更好
【解决方案2】:

Chris Pebbles 的建议应该可以正常工作,但我很困惑。在您的问题标题中,您明确声明“jQuery 禁用 css 类 的所有按钮”,但是,您随后提供了一个示例,表明您确实想要禁用所有具有 名称的按钮 setAlg 的属性。

想到两点。首先,您的按钮,因为它们都具有相同的名称,当用户提交您的表单时,它们可能会为您产生意想不到的结果(如果这是他们所做的,但我在这里可能是错的)。如果是这种情况,您可能确实希望将它们全部设置为相同的 class,而不是 name

<input class="setAlg">...

第二点是,如果你确实想让你的 jQuery 与一个类一起工作,你需要这样做:

$("input.setAlg").attr("disabled","disabled");

我希望这会有所帮助。

【讨论】:

    【解决方案3】:

    我想你忘了引号

    $("input[name='setAlg']").attr('disabled','true');
    

    如果这不起作用,那么您的选择可能不起作用

    【讨论】:

    • true 不应该有引号:)
    • 如果他使用 XHTML Doctype,建议使用字符串 'disabled'。
    • @Shervin - 那是因为 JavaScript 的类型很弱,任何非空字符串都等同于 true,“kdhfaisfbaudbvuiasdnvs”也可以,但这并不意味着它是最正确的方法:)跨度>
    • @Denis - 标记中的属性!= DOM 布尔属性...这是一个布尔属性。
    • 我认为你可以使用任何非空字符串来代替'true'。
    【解决方案4】:

    您可以使用以下提到的步骤禁用按钮。

    说出你的按钮类名 = setAlg

    第 1 步:

    使用 Jquery attr 属性:

    $('.setAlg').attr('disabled', 'disabled');
    

    第 2 步:

    使用 Jquery addClass CSS 类:

    $('.setAlg').addClass('disabled');
    

    第 3 步:

    然后通过声明 CSS 样式类:

     <style type="text/css">
            .disabled
            {
                background: none repeat scroll 0 0 burlyWood;
                cursor: default !important;
            }
      </style>
    

    【讨论】:

      猜你喜欢
      • 2014-08-21
      • 2014-04-21
      • 2016-04-13
      • 1970-01-01
      • 1970-01-01
      • 2013-01-22
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多