【发布时间】:2010-09-22 12:34:31
【问题描述】:
我有 n 个按钮。 此按钮具有相同的名称:setAlg。
我会禁用所有具有此名称的按钮。
我试过了
$("input[name='setAlg']").attr("disabled",true);
但它不起作用。
我该怎么办?
非常感谢。
【问题讨论】:
-
你有示例标记吗?你所拥有的应该适用于
<input type="button">元素。
我有 n 个按钮。 此按钮具有相同的名称:setAlg。
我会禁用所有具有此名称的按钮。
我试过了
$("input[name='setAlg']").attr("disabled",true);
但它不起作用。
我该怎么办?
非常感谢。
【问题讨论】:
<input type="button"> 元素。
确保将代码包装在就绪处理程序中:
$(function(){
$("input[name='setAlg']").attr("disabled", true);
});
但是,如果您对这些输入字段使用相同的类(根据您的问题标题),则需要尝试这样做:
$(function(){
$("input.myclass").attr("disabled", true);
});
myclass 应该是用于这些输入字段的类名。
【讨论】:
Chris Pebbles 的建议应该可以正常工作,但我很困惑。在您的问题标题中,您明确声明“jQuery 禁用 css 类 的所有按钮”,但是,您随后提供了一个示例,表明您确实想要禁用所有具有 名称的按钮 setAlg 的属性。
想到两点。首先,您的按钮,因为它们都具有相同的名称,当用户提交您的表单时,它们可能会为您产生意想不到的结果(如果这是他们所做的,但我在这里可能是错的)。如果是这种情况,您可能确实希望将它们全部设置为相同的 class,而不是 name。
<input class="setAlg">...
第二点是,如果你确实想让你的 jQuery 与一个类一起工作,你需要这样做:
$("input.setAlg").attr("disabled","disabled");
我希望这会有所帮助。
【讨论】:
我想你忘了引号
$("input[name='setAlg']").attr('disabled','true');
如果这不起作用,那么您的选择可能不起作用
【讨论】:
true 不应该有引号:)
true,“kdhfaisfbaudbvuiasdnvs”也可以,但这并不意味着它是最正确的方法:)跨度>
您可以使用以下提到的步骤禁用按钮。
说出你的按钮类名 = 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>
【讨论】: