Javascript 复选框值返回on
我试图确定哪些复选框被选中,如果它们被选中,我希望有一个所有选中选项的字符串Javascript 复选框值返回on,javascript,checkbox,Javascript,Checkbox,我试图确定哪些复选框被选中,如果它们被选中,我希望有一个所有选中选项的字符串 function checkedOptions() { var checklist = document.getElementById("list"); var checkboxes = checklist.getElementsByTagName("INPUT"); var options; for(var i = 1; i < che
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>
您的复选框没有显式的value属性,因此它使用默认值on
如果你想让它有一个特定的值,你需要通过value=my_value给它一个值。对于那些跟随问题标题而不是实际问题的人,这可能是对复选框返回是否选中的问题的快速回答:
以及相关的HTML?…最好是在问题中以及作为JSFIDLE。您的CHECKBOX变量具有误导性,因为它包含页面上的所有输入元素,这可能就是循环从索引i=1开始的原因。
var myVal = ( $('#myCheckbox').is(':checked') ) ? 1 : 0;
alert('myVal is: ' +myVal); //alerts 1 if checked, 0 if not checked