我的页面上有多个checkbox,大概有六七十个左右,主要功能是权限管理.
 之前用的checkbox,就只有三两个.直接判断一下就是了.
现在数量多了.觉得这样做有点繁琐,不知道有没有其它简便的方法.,.
[注:这些CheckBox不是存在Datalist或gridView等数据控件中,就是一般的放在div中再嵌个panel手动写出来的.]

解决方案 »

  1.   

    把他们分组 用command去标出来
      

  2.   

    权限管理你是存在该用户对应行中的某一个字段中的吗,如1,2,3,的吗,如果不是,建议你这么存
    然后在访问的时候看是否包含了这个这样就不存在二三个还是六七十个的checkbox问题了
      

  3.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>js学习文档</title> 
    <script language="javascript"> 
    function selected(bb){ 
    ccc=""
    for(var i=0;i<bb.r1.length;i++) 

    if(bb.r1[i].checked) 
    ccc+=bb.r1[i].value+",";
    //alert(bb.r1[i].value); 
    //document.write(bb.r1[i].value+"<br>"); 

    bb.ddd.value=ccc;
    }</script> 
    </head> 
    <body> 
    <form> 
    <input type="checkbox" name="r1" value="CHINA" />中国 
    <input type="checkbox" name="r1" value="USA" />美国 
    <input type="checkbox" name="r1" value="ENGLAND" />英国 
    <input type="button" name="b1" value="view" onClick="selected(this.form)" /> 
    <input name="ddd" type="text" id="ddd" />
    </form> 
    </body> 
    </html>
      

  4.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>js学习文档</title> 
    <script language="javascript"> 
    function selected(bb){ 
    ccc=""
    for(var i=0;i<bb.r1.length;i++) 

    if(bb.r1[i].checked) 
    ccc+=bb.r1[i].value+",";//把选中的值或字符累加起来就行了
    //alert(bb.r1[i].value); 
    //document.write(bb.r1[i].value+"<br>"); 

    bb.ddd.value=ccc;
    }</script> 
    </head> 
    <body> 
    <form> 
    <input type="checkbox" name="r1" value="CHINA" />中国 
    <input type="checkbox" name="r1" value="USA" />美国 
    <input type="checkbox" name="r1" value="ENGLAND" />英国 
    <input type="button" name="b1" value="view" onClick="selected(this.form)" /> 
    <input name="ddd" type="text" id="ddd" />
    </form> 
    </body> 
    </html>
      

  5.   

    六七十个CheckBox!!厉害!!
    可以通过循环取得CheckBox,例如设置所有的CheckBox为勾选!!        foreach (Control myC in this.form1.Controls)
            {
                if (myC.GetType().ToString() == "System.Web.UI.WebControls.CheckBox")
                {
                    ((CheckBox)myC).Checked = true;
                }
            }
      

  6.   

    根据实际情况自己写个算法遍历一下CheckBox就可以了.有必要自己写一下的.
      

  7.   

    3楼4楼为正解..  将每个checkbox 的NAME都设为一样..  然后用数组来存放value
      

  8.   

    foreach control in controls
      

  9.   

    你是想获得对每个checkbox的控制权啊,还是只想获得被选中的checkbox的值
      

  10.   

    foreach (Control myC in this.form1.Controls) 
            { 
                if (myC.GetType().ToString() == "System.Web.UI.WebControls.CheckBox") 
                { 
                    ((CheckBox)myC).Checked = true; 
                } 
            }
      

  11.   

    觉的用ID来控制的好如果楼主是要1*N的结构,那在生成ID时构建成ck_N如果楼主是要N*M的结构,那在生成ID时构建成ck_N_M记录N和M的最大值进行编历
    最大的好处就是可以指定控制某一行或某一列
      

  12.   

    //FF下测试成功<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Error</title>
        <script src="js/jquery-1.3.2.js" type="text/javascript"></script>
        <script type="text/javascript">
        var k='';//赋值
        $(document).ready(function(){
          $("#button1").click(function(){
          $(":checkbox").each(function(i){
          if($(this).attr("checked"))
          {
           k+=$(this).val(); 
          }
          });
           alert(k);
           k='';//清空
        });
        });
        </script>
    </head>
    <body>
    <input type="checkbox" id="checkbox1" value="1"></input>
    <input type="checkbox" id="checkbox2" value="2"></input>
    <input type="checkbox" id="checkbox3" value="3"></input>
    <input type="checkbox" id="checkbox4" value="4"></input>
    <input type="button" value="test" id="button1"></input>
    </body>
    </html>
    服务器控件一样用
    注意ID
    服务器控件在HTML解析后ID会变  (如用在datalist,gridview)
      

  13.   

    只要它们的ID或者ClientID都是按照一定的规律命名的,要在OnLoad里面绑定事件然后处理状态变更就不会难。
      

  14.   

    string [] box = Request.Form["box"];可以得到所有  选中的 值