如题,其中checkboxlist的值是通过如下方式设置的:
foreach (KeyValuePair<string, string> kvp in Dic)
{
    ListItem item = new ListItem();
    item.Value = kvp.Key;
    item.Text = kvp.Value;
    this.chkLst.Items.Add(item);
}
想得到checkboxlist的item.Value的数组?

解决方案 »

  1.   

    Js获取CheckBoxList的值
    http://blog.csdn.net/lsynb/archive/2008/11/20/3341826.aspx
      

  2.   

    //CheckBoxList会生成表格
    function getCheckList()//取选中的checkbox值,返回数组
    {  
      var arr=new Array();
      var cblist=document.getElementById("<%=CheckBoxList1.ClientID%>").getElementsByTagName("input");
      for(var i=0;i<cblist.length;i++)
      {
        if(cblist[i].checked)
           arr.push(cblist[i].value);
       } 
       return arr;          
    }
      

  3.   

    try->
    //CheckBoxList会生成表格
    function getCheckList()//取选中的checkbox值,返回数组
    {  
      var arr=new Array();
      var cblist=document.getElementById("<%=CheckBoxList1.ClientID%>").getElementsByTagName("input");
      for(var i=0;i<cblist.length;i++)
      {
        if(cblist[i].type=="checkbox"&&cblist[i].checked)
           arr.push(cblist[i].value);
       } 
       return arr;          
    }
      

  4.   


    取得的cblist[i].value 不对
      

  5.   

    下面的方法可以取得选中文本的数组,但取不到选中值
    要取选中值只能在DataBound中添加JS事件传值了
    function getCheckList()//取选中的checkbox的文本,返回数组
    {  
      var arr=new Array();
      var cblist=document.getElementById("<%=CheckBoxList1.ClientID%>").getElementsByTagName("input");//取checkbox
      var lblist=document.getElementById("<%=CheckBoxList1.ClientID%>").getElementsByTagName("label");//取label
      for(var i=0;i<cblist.length;i++)
      {
        if(cblist[i].checked)
           arr.push(lblist[i].innerText);
       } 
       return arr;          
    }
      

  6.   

    还有种方法是把所有值放在CheckBoxList的一个属性里,再拆分循环取选中值
    http://www.cnblogs.com/KimSky/archive/2008/10/16/1312367.html