提前感谢您的宝贵时间。
问题陈述总结:浏览器单选按钮html不显示checked属性,但是Firebug提示radio的checked属性设置为checked
经测试
浏览器:FF 3.6.18 和 IE8 jQuery:1.5 MVC3 (Razor)
细节
使用 MVC3(带有 Razor),我正在从服务器渲染以下单选按钮。所需的功能是在检查一个无线电时,另一个应该未选中,反之亦然。换句话说,用户只能选择一个选项——比如 val1 或 val2。
<div id="myRadioList">
<div>
<input type="radio" value="val1" onclick="updateFunctionCalledHere(this)" name="myRadioName" id="myRadioName_val1" checked="checked">
</div>
<div>
<input type="radio" value="val2" onclick="updateFunctionCalledHere(this)" name="myRadioName" id="myRadioName_val2">
</div>
</div>
我观察到的是,如果用户切换选择的收音机,新选择的收音机(比如说myRadioName_val2
)显示为使用 firebug 进行检查,但 html 仍然反映另一个单选按钮已选中。因此,其他一些验证失败。
我已经尝试从字面上删除两个单选按钮的所有选中属性,然后只检查单击的那个。
这就是我正在做的设置当前点击的收音机,这是行不通的
$("#myRadioList > div > input[value='myRadioName_val2]').attr('checked', 'checked');
我正在简化我的代码以避免发布不必要的细节。
谢谢!