我正在尝试确定选中哪个复选框,如果选中它们,我想要一个包含所有选中选项的字符串。
function checkedOptions()
{
var checklist = document.getElementById("list");
var checkboxes = checklist.getElementsByTagName("INPUT");
var options;
for(var i = 1; i < checkboxes.length; i++)
{
if(checkboxes[i].checked == true)
options += checkboxes[i].value;
}
return options;
}
对于每个复选框,此代码始终返回“on”。我确实阅读了关于这个主题的其他一些帖子,但他们都使用jquery,这是我试图避免的,因为我的工作场所正在避免它。我不知道如何获得此复选框的值。
<ul class="choice" id="checklist">
<li><label id="selection" for="list" onMouseOver="mouseOver()" onMouseOut="mouseOut()">
<input type="checkbox" id="list" checked="true" disabled="true" onChange="checkedOptions()"/>
(None)
</label></li>
</ul>
答案 0 :(得分:3)
您的复选框没有明确的value
属性,因此它使用默认值on
。
如果您希望它具有特定值,则需要通过value="my_value"
给它一个。
答案 1 :(得分:0)
对于那些关注问题标题而不是实际问题的人,这可能是 复选框返回ON的问题的快速答案,无论是否选中:
var myVal = ( $('#myCheckbox').is(':checked') ) ? 1 : 0;
alert('myVal is: ' +myVal); //alerts 1 if checked, 0 if not checked