HTML表示单选按钮已被选中,但javascript表示不是

时间:2011-02-03 21:46:01

标签: html forms radio-button

根据Chrome的说法,这是我按钮的html:

<input checked="" type="radio" class="edit bindable" id="communicationAddresses[0].defaultAddress" name="EMAIL.default">

当我在我的javascript控制台中运行它时,输出输出为“false”

$("input[type=radio]:first").attr("checked")

实际的UI元素明显未被选中。当我运行此代码时,按钮变为明显选择:

$("input[type=radio]:first").attr("checked", true)

回顾Chrome中的html,我看到的几乎与之前看到的完全相同。唯一的区别是“已检查”现在位于代码的末尾而不是开头?

<input type="radio" class="edit bindable" id="communicationAddresses[0].defaultAddress" name="EMAIL.default" checked="">

更多信息:页面上还有另一个广播组。当我删除第二个无线电组时,第一个按预期运行。他们是不同的群体。 可以手动选择每个按钮。

这里发生了什么?为什么按钮没有明显选择开始?

#####编辑

按钮 选择开始,但由于我正在运行的某些事件绑定代码中的错误而被取消选择。

1 个答案:

答案 0 :(得分:3)

checked属性对应于复选框的默认格式,而非当前格式。

换句话说,checked属性对应defaultChecked javascript property,而不是checked property

jQuery $("foo").attr("checked", true)设置checked javascript属性,但不影响checked属性。