【发布时间】:2012-02-27 16:33:20
【问题描述】:
问题陈述总结:浏览器上的单选按钮html没有显示checked属性,但是Firebug表明radio的checked属性设置为checked。
测试于
浏览器:FF 3.6.18 和 IE8
jQuery:1.5
MVC3(剃刀)
详情
使用 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)显示为使用萤火虫检查,但 html 仍反映另一个单选按钮已选中。因此,其他一些验证失败。
我已经尝试从字面上删除两个单选按钮的所有选中属性,然后只检查单击的那个。
这是我正在做的设置当前点击的收音机,这是行不通的:
$("#myRadioList > div > input[value='myRadioName_val2]').attr('checked', 'checked');
我正在简化我的代码以避免发布不必要的细节。
【问题讨论】:
-
选择器的引号不匹配,您可能不会看到 html 更改,请使用 prop() 方法
标签: javascript jquery jquery-events