这适用于Firefox。如何在IE7中使其工作?
$( '#addressSection input:radio' ).attr( 'disabled', false );
我也试过这些无济于事:
$( '#addressSection input:radio' ).removeAttr( "disabled" );
$( '#addressSection input:radio' ).attr( 'disabled', 'false' );
$( '#addressSection input:radio' ).attr( {disabled: false} );
$( '#addressSection input:radio' ).attr( {disabled: 'false'} );
这是IE7呈现的单选按钮html。原始文件是用Spring和自定义标签编写的。
<div id="addressSection">
<div class="column">
<ul class="simpleForm">
<li>
<input id="addressUseUorA" name="addressUseUorA" value="U" type="radio" type="text" value=""/>
<label for="addressUseUorA">Use User Address</label>
<input id="addressUseUorA" name="addressUseUorA" value="A" type="radio" type="text" value=""/>
<label for="addressUseUorA">Use Account Address</label>
</li>
</ul>
</div>
</div>
更新:
这是造成这个问题的原因。
我禁用了这样的字段,试图禁用DIV中的所有字段:
$( '#addressSection' ).attr( 'disabled', true);
这会导致ie7出现问题,但不会出现问题。
当我将禁用代码更改为:
时,问题得以解决$( '#addressSection input' ).attr( 'disabled', true);
我的猜测是禁用属性已应用于div而不是字段,因此无法通过引用单选按钮删除。
感谢所有帮助。
答案 0 :(得分:12)
$( '#addressSection input[type="radio"]' ).removeAttr( "disabled" );
答案 1 :(得分:2)
尝试:
$('#addressSection input[type=radio]').attr('disabled', false);
答案 2 :(得分:0)
我刚刚对JsFiddle进行了测试,看起来removeAttr
在chrome / FF / IE7上运行得很好。
这是实时示例链接:http://jsfiddle.net/2GpyQ/1/
让我知道它是否适合你,谢谢
答案 3 :(得分:0)
您需要为输入元素使用不同的ID。 这段代码正在运行:
<div id="addressSection"> <div class="column">
<ul class="simpleForm">
<li>
<form>
<input id="addressUseUorA1" name="addressUseUorA" value="U" type="radio" type="text" disabled="disabled" value=""/>
<label for="addressUseUorA1">Use User Address</label>
<input id="addressUseUorA2" name="addressUseUorA" value="A" type="radio" type="text" value=""/>
<label for="addressUseUorA2">Use Account Address</label>
</form>
<a href="#">click</a>
</li>
</ul>
</div> </div>
<script>
$('#addressSection a').click(function(e) {
e.preventDefault()
$( '#addressSection input[type="radio"]' ).removeAttr( "disabled" );
});
</script>