如何在客户端取得checkboxlist选对钩的值   CBL1.DataSource = download.GetFieldDescription(tbName)
        CBL1.DataTextField = "FieldDescription"
        CBL1.DataValueField = "FieldName"
        CBL1.DataBind()我在服务器端已经设置好了值域
在客户端如何取啊

解决方案 »

  1.   

    这是我以前的遍历所有checkboxlist的值的一些代码,希望对你有用.
    private void setControls(ref ControlCollection cs)///遍历所有checkboxlist
    {
    foreach(Control c in cs)
    {
    if(c.HasControls())
    {
    ControlCollection cc = c.Controls;
    setControls(ref cc);
    }
    if(c is System.Web.UI.WebControls.CheckBoxList)
    {
    System.Web.UI.WebControls.CheckBoxList cbl=(CheckBoxList)c;
    foreach (ListItem cbx in cbl.Items)///遍历所有项
    {
    //Response.Write(cbx.Value.ToString());
    base_class.db_class db=new pms_bs.base_class.db_class();
    db.sql="select id from sys_group_page where lel=1 and page_id='"+cbx.Value+"' and group_id="+ViewState["group_id"];
    System.Data.SqlClient.SqlDataReader dr=db.executereader();
    if(dr==null)
    cbx.Selected=false;
    else
    {
    cbx.Selected=true;

    }
    db.db_close();
    } }
    }
    }
      

  2.   

    guanvee(答对就给分) 
    我说的是在客户端 用javascript
      

  3.   

    在page_load调用: ControlCollection cc = this.Controls;
    setControls(ref cc);setControls函数:
    private void setControls(ref ControlCollection cs)///遍历所有checkboxlist
    {
    foreach(Control c in cs)
    {
    if(c.HasControls())
    {
    ControlCollection cc = c.Controls;
    setControls(ref cc);
    }
    if(c is System.Web.UI.WebControls.CheckBoxList)
    {
    System.Web.UI.WebControls.CheckBoxList cbl=(CheckBoxList)c;
    foreach (ListItem cbx in cbl.Items)///遍历所有项
    {
    Response.Write(cbx.Value.ToString());
    } }
    }
    }嗬嗬,这样看也许清楚点
      

  4.   

    function test()
    {
      var i;
      for(i=0;i<document.all['CheckBoxList1'].rows.length;i++ )
      {
        var name = "CheckBoxList1_" + i;
        var tmpChecked = document.all[name].checked;
    ......
      }
    }
      

  5.   

    先谢谢你了  guanvee(答对就给分)
      

  6.   

    <script language="javascript">
         function Checkall(tabnm,chknm){
            var strname=tabnm;
            var strchknm=chknm;
            // Go through all items of a check list control
            var table = document.getElementById (strname);
            var cells = table.getElementsByTagName("td");
            var ctlr;
            for (var i = 0; i < cells.length; i++){
              ctrl = cells[i].firstChild;
               if (ctrl.type == 'checkbox')
                 if(document.getElementById(strchknm).checked==true){
                    ctrl.checked=true;                  
                   }
                    else{ctrl.checked=false;}
                   }
            }
     </script>
      

  7.   

    Eddie005(暴走005)
    看清题目 我要取的是checkboxlist的所有选中项的值 不是它的选中状态
      

  8.   

    sorry,
    不过这个问题也搞过,但是没成功,看楼下的高手出招了
      

  9.   

    给你个函数function GetSelectCount(frm, chkName)
    {
    //count
    var nCount=0;
    for(var i=0;i< frm.length;i++)
    {
    e=frm.elements[i];
    if ( e.type=='checkbox' && e.name.indexOf(chkName) != -1 )
    {
    if (e.checked==true)
    {

    nCount++;
    }
    }
    }

    return nCount;
    }
      

  10.   

    savagewang1978(遛鎏)
    看清题目 我要取的是checkboxlist的所有选中项的值 不是它的选中状态
      

  11.   

    function getValue()
    {
       var obj = document.getElementsByTagName("input");
       var str = "";
       for(var i=0;i<obj.length;i++)
       {
          if(obj[i].type == "checkbox" && obj[i].checked == true)
        str += obj[i].parentElement.innerText+",";
       }
       alert(str);
    }
    这个肯定行,不过做法比较特别
    document.getElementsByTagName("input"); 中 input是固定的
    你照贴就能用
      

  12.   

    spland(spland):
    你取得是text域 但我想取值CBL1.DataTextField = "FieldDescription"
            CBL1.DataValueField = "FieldName"即我要取FieldName
      

  13.   

    raingod(皆大欢喜) 
    你试一下就知道了,取得就是value
      

  14.   

    我式了 取得是文本TextField
      

  15.   

    function selectgroup()
    {
    var content = "";
    for(var i=1;i<form1.elements.length;i++)
    {
    var e = form1.elements[i];
    if (e.checked)
    content += e.value + ",";
    }
    window.opener.form1.GroupID.value = content;

    }
    在这段代码中把所有选中的checkbox的value以逗号分叠加为一个字符串并放在一个隐藏input中,这个一定是你要的吧。
    结贴吧!!
      

  16.   

    DataValueField的value值是放在ViewState里的,
    除非你能用js来对ViewState解码,否则是取不到的
      

  17.   

    楼上的老兄麻烦你看看html的源文件好不好,你应该可以看到绑定后的datavalue是不是在value里