复选框值返回

时间:2014-08-25 15:43:54

标签: javascript checkbox

我正在尝试确定选中哪个复选框,如果选中它们,我想要一个包含所有选中选项的字符串。

 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>

2 个答案:

答案 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

jsFiddle Demo