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

Javascript 如何在ie7中使用jquery启用禁用的单选按钮,javascript,jquery,html,internet-explorer-7,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' ); $( '#addressSec

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

当我将禁用代码更改为:

$( '#addressSection input' ).attr( 'disabled', true);
我的猜测是disable属性应用于div而不是字段,因此无法通过引用单选按钮删除

谢谢您的帮助。

您是否尝试过:

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


我刚刚在JsFiddle上对它进行了测试,看起来
removeAttr
在chrome/FF/IE7上运行良好

以下是实时示例链接:


让我知道它是否适用于您,谢谢您需要为输入元素使用不同的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>

  • 使用用户地址 使用帐户地址
$(“#addressSection a”)。单击(函数(e){ e、 预防默认值() $(“#addressSection input[type=“radio”]”)。removeAttr(“已禁用”); });
这不起作用。我将这一行放在它的正下方,它工作正常:$(“#addressSection input[type=radio]”)。hide()@凯文,你能告诉我什么是
$('#addressSection input[type=“radio”]).attr(“disabled”)
在您假定启用它之后?$('#addressSection input[type=“radio”]).attr(“disabled”,“disabled”);给属性一个“disabled”值。@Brad,为什么OP会再次禁用它呢?
$('#addressSection input[type=“radio”]')的值。attr(“disabled”)在这一行后为false。你能发布HTML吗,也许会有帮助?你不应该有两个id相同的元素。
$('#addressSection input[type=radio]').attr('disabled', false);
<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>