dor*_*ado 9 html javascript jquery
可以轻松禁用输入元素,但是以何种方式启用它们?
以下代码可以禁用但不启用input元素.
$('#dis').click(function() {
$('#inp').attr('disabled', 'true');
});
$('#enb').click(function() {
$('#inp').attr('disabled', 'false');
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id='inp' type='text'>
<button id='enb'>Enable</button>
<button id='dis'>Disable</button>Run Code Online (Sandbox Code Playgroud)
只是为了扩大答案......
真正的问题是你试图将disabled设置为false,setAttribute()因为它不像你期望的那样.如果禁用属性被设置时,不管值,因此,一个元件被禁用disabled="true",disabled="disabled"并且disabled="false"都是等效的:所述元件被禁用).
您应该删除完整属性
$('#enb').click(function() {
$('#inp').removeAttr('disabled');
});
Run Code Online (Sandbox Code Playgroud)
问题在于您的代码使用引号true并false用引号编写,使它们成为字符串而不是布尔值.请注意这两个'true'和'false'是truthy值,因此你的代码中设置启用值设置为true在这两种情况下.
我希望以下内容对您有用,请检查以下代码段:
$('#dis').click(function() {
$("#inp").prop('disabled', true);
});
$('#enb').click(function() {
$("#inp").prop('disabled', false);
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id='inp' type='text'>
<button id='enb'>Enable</button>
<button id='dis'>Disable</button>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2721 次 |
| 最近记录: |