我必须首先禁用输入,然后单击链接启用它们。

这是我迄今为止尝试过的方法,但行不通。

HTML:

<input type="text" disabled="disabled" class="inputDisabled" value="">

jQuery:

$("#edit").click(function(event){
   event.preventDefault();
   $('.inputDisabled').removeAttr("disabled")
});

这显示了true和false,但输入没有任何变化:

$("#edit").click(function(event){
   alert('');
   event.preventDefault();
   alert($('.inputDisabled').attr('disabled'));
   $('.inputDisabled').removeAttr("disabled");
   alert($('.inputDisabled').attr('disabled'));
});

当前回答

<input type="text" disabled="disabled" class="inputDisabled" value="">
​<button id="edit">Edit</button>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

$("#edit").click(function(event){
    event.preventDefault();
    $('.inputDisabled').removeAttr("disabled")
});​

http://jsfiddle.net/ZwHfY/

其他回答

我认为你正在尝试切换禁用状态,在这种情况下,你应该使用这个(从这个问题):

$(".inputDisabled").prop('disabled', function (_, val) { return ! val; });

这是一把能用的小提琴。

像这样使用,

HTML:

<input type="text" disabled="disabled" class="inputDisabled" value="">

<div id="edit">edit</div>

JS:

 $('#edit').click(function(){ // click to
            $('.inputDisabled').attr('disabled',false); // removing disabled in this class
 });
<input type="text" disabled="disabled" class="inputDisabled" value="">
​<button id="edit">Edit</button>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

$("#edit").click(function(event){
    event.preventDefault();
    $('.inputDisabled').removeAttr("disabled")
});​

http://jsfiddle.net/ZwHfY/

这个问题特别提到了jQuery,但如果你想在没有jQuery的情况下完成这个任务,那么在普通JavaScript中等价的是:

elem.removeAttribute('disabled');

用于删除禁用属性

 $('#inputDisabled').removeAttr('Disabled');

用于添加禁用属性

 $('#inputDisabled').attr('disabled', 'disabled' );