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

How do you enable a disabled radio button using jquery in ie7

本文关键字:jquery 启用 单选按钮 ie7      更新时间:2023-09-26

这在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出现问题,但firefox不会。

当我将禁用代码更改为:

时,问题解决了
$( '#addressSection input' ).attr( 'disabled', true);

我的猜测是禁用属性应用于div而不是字段,因此不能通过引用单选按钮来删除。

谢谢你的帮助。

你试过了吗:

$( '#addressSection input[type="radio"]' ).removeAttr( "disabled" );

尝试:

$('#addressSection input[type=radio]').attr('disabled', false);

我刚刚在JsFiddle上进行了测试,看起来removeAttr在chrome/FF/IE7上工作得很好。

这里是活动示例链接:http://jsfiddle.net/2GpyQ/1/

让我知道它是否适用于你,谢谢

您需要为输入元素使用不同的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>