如果我将按钮的disabled
属性设置为true
,然后我想在一段时间后使用jQuery启用它,为什么我不能只设置使用jQuery disabled
属性为false
?
HTML:
<form>
<input id="myButton" type="submit" disabled="true" value="Submit"/>
</form>
jQuery的:
setTimeout(EnableSubmit, 3000);
function EnableSubmit()
{
$("#myButton").attr("disabled", "false");
}
JSFiddle:http://jsfiddle.net/TV7t4/
答案 0 :(得分:3)
已禁用的属性值无关紧要,只需将其设置为有效。
尝试完全删除属性:
$("#myButton").removeAttr("disabled");
答案 1 :(得分:2)
答案 2 :(得分:2)
因为disabled
属性是布尔属性。无论其价值如何,它都只是存在。我可以写disabled="I'm a broken paperclip"
,它仍然有用。
尝试:
document.getElementById('myButton').disabled = true; // disable
document.getElementById('myButton').disabled = false; // re-enable
Vanilla JS简单得多......
答案 3 :(得分:2)
使用.prop()
和false
:
setTimeout(EnableSubmit, 3000);
function EnableSubmit() {
$("#myButton").prop("disabled", false);
}
<强> jsFiddle example 强>
来自docs:.prop()方法应该用于设置disabled和checked而不是.attr()方法。
答案 4 :(得分:0)
您需要将其设置为布尔值false
,而不是字符串"false"
,因此请丢失引号。
$("#myButton").prop("disabled", false);
}
答案 5 :(得分:0)
$("#myButton").removeAttr('disabled');