如何使用jQuery在单击时正确启用/禁用输入字段?
我正在尝试:
$("#FullName").removeAttr('disabled');
以下代码将从输入字段中删除disabled="disabled"
:
<input id="FullName" style="width: 299px" value="Marko" disabled="disabled" />
但是如何在点击另一个按钮时重新添加它,或者如何在单击时禁用输入字段?
如何使用jQuery在单击时正确启用/禁用输入字段?
我正在尝试:
$("#FullName").removeAttr('disabled');
以下代码将从输入字段中删除disabled="disabled"
:
<input id="FullName" style="width: 299px" value="Marko" disabled="disabled" />
但是如何在点击另一个按钮时重新添加它,或者如何在单击时禁用输入字段?
对于 jQuery 版本 1.6+,请使用 prop
:
$('#elementId').click(function(){
$('#FullName').prop('disabled', true\false);
});
对于旧版本的jQuery,请使用attr
:
$('#elementId').click(function(){
$('#FullName').attr('disabled', 'disabled'\'');
});
$("#FullName").prop('disabled', true);
好的。
但请记住,当您禁用它(通过上述代码)后,onclick
处理程序将不起作用,因为它已被禁用。要再次启用它,请在另一个按钮或字段的onclick
处理程序中添加$("#FullName").removeAttr('disabled');
。
$('#checkbox-id').click(function()
{
//If checkbox is checked then disable or enable input
if ($(this).is(':checked'))
{
$("#to-enable-input").removeAttr("disabled");
$("#to-disable-input").attr("disabled","disabled");
}
//If checkbox is unchecked then disable or enable input
else
{
$("#to-enable-input").removeAttr("disabled");
$("#to-disable-input").attr("disabled","disabled");
}
});
$("#anOtherButton").click(function() {
$("#FullName").attr('disabled', !$("#FullName").attr('disabled'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<input id="FullName" style="width: 299px" value="Marko" disabled="disabled" />
<br>
<br>
<input type="button" id="anOtherButton" value="disable/enable" />
这应该可以做到。
$("#FullName").attr('disabled', 'disabled');
Shiplu 说的没错,但如果你使用的不是 jQuery 1.6+ 版本,请使用这个。
$("#anOtherButton").click(function(){
$("#FullName").attr('disabled', 'disabled');
});
为匹配元素集设置一个或多个属性
$("anOherButton")...
中忘记了 #
,并且有拼写错误。 - gdoron要在禁用和启用之间切换字段,请尝试以下方法:
$('#toggle_button').click(function () {
$('#FullName').prop("disabled",
function (i, val) {
return !val;
});
})