gridview里有一列checkbox,请问怎样在页面提交时判断这列checkbox是否有选择的?
这些checkbox名字和id都不一样的
最好可以用javascript判断

解决方案 »

  1.   

    //=======================================删除确认
    function CheckGridSend(objname)
    {
        var  a= document.getElementsByTagName("INPUT");
        var  j=0,k=0,h=0;
        for(i=0;i<a.length;i++)
        {
             if(objname!="")
             {
                if(a[i].type=="checkbox" && a[i].name!=objname)
                {
                    k++;
                    h++;
                    if(a[i].checked==true)
                    j++;
                }
             }
            else
            {
              if(a[i].type=="checkbox")
                {
                    k++;
                    h++;
                    if(a[i].checked==true)
                    j++;
                } 
            }
        }
        if(j==0&&k!=0)
        {
            window.alert("请选择要删除的项!");
            return false;
        }
        if ( h==0 )
        {
    window.alert("没有数据可删除!");
            return false;
        }
        return confirm("确定要删除?");
       

     
    //======================================全选     
    function selectall(objname){
          for(i=1;i<window.document.form1.elements.length;i++){
              var e=window.document.form1.elements[i];
              if(e.type=="checkbox"){
            if(document.all[objname].checked){  
                 if(e.disabled != true)e.checked=true;
            }
            else e.checked=false;
         }
      }
    }//==================================修改
    function CheckEdit()
     {
     
         var  a= document.getElementsByTagName("INPUT")
         var  j=0,k=0;
         for(i=0;i<a.length;i++)
         {
            if(a[i].type=="checkbox")
            {
               k++;
              
               if(a[i].checked==true)
               j++;
            }
         }
         if ( k==0 )
         {
     window.alert("没有数据可选择!");
            return false;
         }
         if(j==0&&k!=0)
         {
            window.alert("请选择要操作的项!");
            return false;
         }
         if(k!=0&&j>1)
         {
             for(i=0;i<a.length;i++)
            {
            if(a[i].type && a[i].type=="checkbox")
            {
               a[i].checked = false;     
            } 
            }
            window.alert("不能选择多项进行编辑请从新选择一项!");
             return false;
         }
         
         
        }
      

  2.   

    var  obj= document.getElementsByTagName("INPUT")
     for(i=0;i<obj.length;i++)
       if(obj[i].type=="checkbox" && obj[i].checked==true)
      

  3.   


    如果在模板列里面,则checkbox的id是自己的嵌套命名的,送楼主一套自己使用的js方法     /**************************************************************
         * 全部选中GridView中的CheckBox列(指定checkBox的ID)
         *
         *  @param gridViewName  GridView控件ID:
         *  @param checkBoxName  模版列中的CheckBox控件ID:    
         *
         **************************************************************/
        function CheckAllWithcheckBoxName( gridViewName, checkBoxName )
        {   
            //查找gridview的模式匹配字符串
            var RegString = new RegExp("(.*?)" + gridViewName + "(.*?)");
             
            for(i = 0; i < document.all.length; i = i + 1)
            {
                if (RegString.test(document.all[i].id))
                {
                    //获取查找到的gridView对象
                    var grid = document.getElementById(document.all[i].id);
                    
                    //循环执行选中操作
                    for(i = 0; i < grid.all.length; i = i + 1)
                    {
                        var RegString = new RegExp("(.*?)" + gridViewName + "(.*?)" + checkBoxName);
                                   
                        if (RegString.test(grid.all[i].id))
                        {
                            grid.all[i].checked = true;
                        }
                    }
                                    
                    break;
                }
            }
            
            return false;
        }
        
         /**************************************************************
         * 全部取消选中GridView中的CheckBox列(指定checkBox的ID)
         *
         *  @param gridViewName  GridView控件ID:
         *  @param checkBoxName  模版列中的CheckBox控件ID:    
         *
         **************************************************************/
        function CheckAllNoWithcheckBoxName( gridViewName, checkBoxName )
        {
           //查找gridview的模式匹配字符串
            var RegString = new RegExp("(.*?)" + gridViewName + "(.*?)");
             
            for(i = 0; i < document.all.length; i = i + 1)
            {
                if (RegString.test(document.all[i].id))
                {
                    //获取查找到的gridView对象
                    var grid = document.getElementById(document.all[i].id);
                    
                    //循环执行取消选中操作
                    for(i = 0; i < grid.all.length; i = i + 1)
                    {
                        var RegString = new RegExp("(.*?)" + gridViewName + "(.*?)" + checkBoxName);
                                   
                        if (RegString.test(grid.all[i].id))
                        {
                            grid.all[i].checked = false;
                        }
                    }
                    
                    break;
                }
            }
            
            return false;
        }
            
         /**************************************************************
         * 全部选中GridView中的CheckBox列(不指定checkBox的ID)
         *
         *  @param gridViewName  GridView控件ID: 
         *
         **************************************************************/
        function CheckAll( gridViewName )
        {
           //查找gridview的模式匹配字符串
            var RegString = new RegExp("(.*?)" + gridViewName + "(.*?)");
             
            for(i = 0; i < document.all.length; i = i + 1)
            {
                if (RegString.test(document.all[i].id))
                {
                    //获取查找到的gridView对象
                    var grid = document.getElementById(document.all[i].id);
                    
                    //循环执行选中操作
                    for(i = 0; i < grid.all.length; i = i + 1)
                    {
                         if (grid.all[i].type=="checkbox" )
                         {
                            grid.all[i].checked = true;
                         }
                    }
                    
                    break;
                } 
            }
            
            return false;
        }
        
         /**************************************************************
         * 全部取消选中GridView中的CheckBox列(不指定checkBox的ID)
         *
         *  @param gridViewName  GridView控件ID: 
         *
         **************************************************************/
        function CheckAllNo( gridViewName )
        {
           //查找gridview的模式匹配字符串
            var RegString = new RegExp("(.*?)" + gridViewName + "(.*?)");
             
            for(i = 0; i < document.all.length; i = i + 1)
            {
                if (RegString.test(document.all[i].id))
                {
                    //获取查找到的gridView对象
                    var grid = document.getElementById(document.all[i].id);
                    
                    //循环执行取消选中操作
                    for(i = 0; i < grid.all.length; i = i + 1)
                    {
                         if (grid.all[i].type=="checkbox" )
                         {
                            grid.all[i].checked = false;
                         }
                    }
                    
                    break;
                }
            }
            
            return false;
        }
        
         /**************************************************************
         * 前台CheckBox控件,全部选中或取消GridView中的CheckBox列(不指定checkBox的ID)
         *
         *  @param gridViewName  GridView控件ID: 
         *
         **************************************************************/
        function CheckBoxCheckAll(gridViewName)
        {   
            var chk = document.getElementById(event.srcElement.id);
                 
            if ( chk.checked )
            {
                CheckAll( gridViewName );            
            }
            else
            {
                CheckAllNo( gridViewName );
            }
        } 
        
         /**************************************************************
         * 前台CheckBox控件,全部选中或取消GridView中的CheckBox列(指定checkBox的ID)
         *
         *  @param gridViewName  GridView控件ID:
         *  @param checkBoxName  模版列中的CheckBox控件ID:   
         *
         **************************************************************/
        function CheckBoxCheckAllWithcheckBoxName(gridViewName, checkBoxName)
        {   
            var chk = document.getElementById(event.srcElement.id);
                 
            if ( chk.checked )
            {
                CheckAllWithcheckBoxName( gridViewName, checkBoxName );            
            }
            else
            {
                CheckAllNoWithcheckBoxName( gridViewName, checkBoxName );
            }
        }
      

  4.   

    function test()
    {
    var gridview = document.getElementById("GridView1");
    var cbs = gridview.getElementsByTagName("input");
    for(var i=0;i<cbs;i++)
    {
    if(cbs[i].type=="checkbox" && cbs[i].checked)
    {
    //选中
    }
    }
    }