复选框列表-javascript

时间:2010-10-12 12:27:05

标签: c# javascript asp.net

在我的aspx页面中,我有一个复选框列表..它有一个表中的绑定值.. 我需要验证复选框列表..我尝试了以下脚本

 var checkBoxCount = 0;     

        var elements = document.getElementById('<%=ChkBoxList.ClientID%>');

        for(i=0; i<elements.length;i++)

        {

        if(elements[i].checked) 

        checkBoxCount++;

        }  

        if (checkBoxCount == 0)
               {
                alert("Please choose atleast one");
              return false;
              }

但我无法获得所需的输出,它需要选中复选框列表中的所有值。我需要的是至少只有一个项目必须从复选框列表中选择..使用javascript

提前致谢...

4 个答案:

答案 0 :(得分:1)

function readListControl()
{
 var tableBody = document.getElementById('CheckBoxList1').childNodes[0];

 for (var i=0;i<tableBody.childNodes.length; i++)
 {
  var currentTd = tableBody.childNodes[i].childNodes[0];
  var listControl = currentTd.childNodes[0];

  if ( listControl.checked == true )
   alert('#' + i + ': is checked');
 }
}

答案 1 :(得分:0)

document.getElementById返回一个元素,而不是数组。

这样做的一种方法是获取容器并迭代输入,如下所示:

var container = document.getElementById('<%=ChkBoxList.ClientID%>').parentNode;
var inputs = container.getElementsByTagName('input');

for (var i=0; i<inputs.length; i++) {
  if (typeof inputs[i] = "checkbox") {
    // statements
  }
}

您可能还希望使用更多条件语句限定输入。这只是为您提供了广泛的笔触。

答案 2 :(得分:0)

您必须向我们展示您生成的HTML。

但是,这是一个有效的例子:

<html>
<body><form name="myform" method="POST" action="" onsubmit="return validate();">
<input type="checkbox" name="mybox" value="1" /> 1 
<input type="checkbox" name="mybox" value="2" /> 2 
<input type="checkbox" name="mybox" value="3" /> 3 
<input type="checkbox" name="mybox" value="4" /> 4 
<input type="checkbox" name="mybox" value="5" /> 5 
<input type="submit" value="Submit Form" />
</form>

<script type = "text/javascript">
function validate() {
    var checkBoxCount = 0;
    for (var i = 0; i< 5; i++) {
        if(document.myform["mybox"][i].checked){
            checkBoxCount ++;
        }
    }
    if (checkBoxCount == 0) {
        alert ("Tick a box!");
        return false;
    }
    return true;
}
</script>
</body>
</html>

答案 3 :(得分:0)

var k = 0;                 var ControlRef = document.getElementById('ChkBoxList');                 var CheckBoxListArray = ControlRef.getElementsByTagName('input');                 for(var i = 0; i