检索多个复选框值时出现问题

时间:2011-09-22 06:52:21

标签: javascript jsp

我无法访问我选择的复选框的值。 这是我试过的代码。

<input type="checkbox" id="<%= "gname_" + in.intValue() %>" name="chkBox" onclick='chkboxSelect(localArrGroupNames[<%=in.intValue() %>],<%= "gname_" + in.intValue() %>)'>



JS code:  
function chkboxSelect( chkBoxValue, id){  
      var i=0;  
    if(id.checked)  {  
       var selected;  
       alert("id:  " + chkBoxValue + i);  
       selected[i] = chkBoxValue;  
       i++;  
    }  

    }  

虽然我选择了多个值,但我的警报中只有一个值。 例如,如果我选择红色,蓝色,绿色,在我选择每个之后,我的警报中只有一个。 请帮我 。提前致谢。

2 个答案:

答案 0 :(得分:0)

如果所有复选框都具有相同名称​​ chkBox

<!DOCTYPE HTML>
<html>
<head>
<title>Title of the document</title>
<script>
  function getValues(){
        var cbs    = document.getElementsByName('chkBox');
        var result = '';

        for(var i=0; i<cbs.length; i++) {
         if(cbs[i].checked ) result += (result.length > 0 ? "," : "") + cbs[i].value;
        }

        alert(result);
        return result;
     }
</script>
</head>

<body>  
 <input type="checkbox" id="gname_1" name="chkBox" onclick='getValues();' value='red'>Red<br>
 <input type="checkbox" id="gname_2" name="chkBox" onclick='getValues();' value='green'>Green<br>
 <input type="checkbox" id="gname_3" name="chkBox" onclick='getValues();' value='blue'>Blue<br>
</body>

</html>

答案 1 :(得分:0)

如果您使用多个具有相同名称的复选框,则代码应如下所示:

<input type="checkbox" name="chkBox[]" value="red">
<input type="checkbox" name="chkBox[]" value="green">
<input type="checkbox" name="chkBox[]" value="blue">

如果您提交表单,您将获得一个数组...($ _POST ['checkBox'] [0])