<table style="width: 100%;">
<tr>
<td>
<b>Year</b>
<input type="checkbox" id="Year" />
</td>
</tr>
<tr>
<td>
<b>Desc</b>
<br />
<input type="text" id="Desc" name="Description" maxlength="35" value="" />
</td>
</tr>
<tr>
<td>
<b>No:</b>
<input type="text" id="Num" name="Number" maxlength="20" value="<%= No %>" />
</td>
</tr>
</table>
当我使用时:
$(document).ready(function () {
$(":text,#Desc").attr("disabled", "disabled");
});
这会禁用该html页面中的所有文本框,怎么做?
相反,当我使用$('#Desc').attr('disabled', true);
时,它只会禁用该特定文本框。
答案 0 :(得分:3)
根据您提供的代码,
$(":text,#Desc")
您使用了多个选择器,因此它包含两个选择器
":text"
"#Desc"
基本上第一个选择所有输入元素。
答案 1 :(得分:0)
使用prop()而不是attr(),最好设置check,disabled,readonly等属性
此外,您应该仅使用ID来确保您没有选择共享同一个类且ID唯一的所有元素
$(document.ready(function() {
$("#Desc").prop("disabled", true);
});
答案 2 :(得分:0)
您有<input type="text" id="Desc..."
选择器在这里是错误的:
$(":text,#Desc").attr("disabled","disabled");
因为这说#Desc child:text但你没有。
所以,这应该可以正常工作:
$("#Desc").attr("disabled","disabled");
或者,您可以这样使用:
$("#Desc:text").attr("disabled","disabled");
但在我看来,这没有任何意义,因为Id是唯一的,你可以称之为id。
但是如果你分配了这个类,你可以这样使用它:
$(".Desc:text").attr("disabled","disabled");
这是明智的。
玩得开心!
答案 3 :(得分:0)
$(':text')
选择所有类型为text的输入字段。选择器中的,
就像:首先选择所有<input type="text" />
,然后选择#Desc
。只需删除:text,
。