以下函数用来判断选择GridView控件中的checkbox个数,size变量输入有错,比如选择了3个checkbox,size=2。size++;
的结果好像不对。
function getOneObject()
{
        var datalist  = document.getElementById("GridView1"); 
        var size = 0 ;
        var selectValue = -1 ;
        for(var i=1;i<datalist.rows.length-1;i++)
        {
            if(datalist.rows[i].cells[0].children[0].checked==true)//模板列checkbox是否被选中(checkbox在第三列,cells的值为2),因为是模板列,有控件,因此应取这一列的children[0](第1个控件)
            {
                size++;
                alert(i+","+size+","+selectValue);//size输入有错
                selectValue = parseInt(size);
            }
        }
        if(size>1){
            Error("每次只能选择一条记录");
            selectValue=-1
        }
        else if(size<=0){
            Error("请选择记录");
            selectValue=-1
        }
        return selectValue ;
}

解决方案 »

  1.   

    如果你选了三个 alert(i+","+size+","+selectValue);//size输入有错出现几次少的是哪一个啊!
      

  2.   

    选择了3个checkbox,size缺等于2
    不知道哪里错了
      

  3.   

    你把GridView1的代码 贴出来吧
      

  4.   

    for(var i=1;i<datalist.rows.length-1;i++)改成 for(var i=0;i<datalist.rows.length;i++) 试试
      

  5.   

    datalist.rows.length-1
    datalist.rows.length
    if(datalist.rows[i].cells[0].children[0].checked==true)//模板列checkbox是否被选中(checkbox在第三列,cells的值为2),因为是模板列,有控件,因此应取这一列的children[0](第1个控件)
                {
    datalist.rows[i].cells[1].children[0]?
      

  6.   

    选择了3个checkbox 
    datalist.rows[i].cells[0].children[0].checked返回只有两个true
      

  7.   


    for(var i=0;i<datalist.rows.length;i++)
      

  8.   

    JQ的 拿到checkbox控件选中的个数$(function () {
                $("#btn").click(function () {
                    var shuzu = new Array();
                    var ss = $("#DataList1 input:checkbox:checked");//拿到DATALIST控件里面选中的checkbox对象,ss.length这个就是数量,要对应的数值就按照下面的循环
                    for (i = 0; i < ss.length; i++) {
                        shuzu.push(ss[i].value);
                    }
                });
            })