如何在ie7中使用jquery启用禁用的单选按钮

时间:2011-04-12 20:41:28

标签: javascript jquery html internet-explorer-7

这适用于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而不是字段,因此无法通过引用单选按钮删除。

感谢所有帮助。

4 个答案:

答案 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>