访问javascript中的复选框列表检查项

时间:2014-04-11 07:21:49

标签: javascript html

我在html中有复选框,如下所示:

    <td><input type="checkbox" name="ChkmemberId" value="D657868" onclick="javascript:saveJobDetails('D657868','1');BindGrid('','Edit');">D657868

<input type="checkbox" name="ChkmemberId" value="M78786" onclick="javascript:saveJobDetails('M78786','1');BindGrid('','Edit');">M78786

<input type="checkbox" name="ChkmemberId" value="D89798" onclick="javascript:saveJobDetails('D89798','1');BindGrid('','Edit');">D89798</td>

我想在javascript中访问这些项目。

我尝试如下:

 elm = document.getElementByName("ChkmemberId");

                if (elm != null) {

                    alert('1');
                    var checkBoxes = elm.getElementsByTagName("input");
                    var label = elm.getElementsByTagName("label");
                    alert('2');
                    for (i = 0; i < checkBoxes.length; i++) {
                        if (checkBoxes[i].checked == true) {

                            userID = userID + checkBoxes[i].value + ",";
                        }

                    }
                }
            }

但它不起作用。

请帮助我如何在javascript中访问checkboxlist。

2 个答案:

答案 0 :(得分:2)

您正试图从没有任何子元素的元素中获取子元素。

var checkBoxes = elm.getElementsByTagName("input");

您希望获得具有相同名称的所有元素。之后,您想要将它们全部循环并将值放在userId中。

尝试使用此代码:

var checkBoxes = document.getElementsByName('ChkmemberId');
for (var i = 0; i < checkBoxes.length; i++) {
    if (checkBoxes[i].checked) {
        userID += checkBoxes[i].value;
    }
}

答案 1 :(得分:1)

这是怎么回事:

var checks = document.getElementsByName("ChkmemberId"),
    check, parts = [],
    userID, i;

for (i = 0; i < checks.length; i += 1) {
    check = checks[i];
    if (check.checked) {
        parts.push(check.value);
    }
}

userID = parts.join(", ");

工作小提琴:

http://jsfiddle.net/EVQwc/