这行代码只能取出checkboxlist的text值,我想取出value的值,请问怎么改??? 
function CheckASP(object)
           {
              
              //如果这里我们想得到要选中的值,方法还是有的,但是和常规的有所不同
              var chkInput = object.getElementsByTagName("INPUT");
             var chkLable = object.getElementsByTagName("Label");
            var team= document.getElementById("txtTeamHide");
            team.value="";
              for(var i=0;i<chkInput.length;i++)
              {
                  if(chkInput[i].checked)
                  {
                   //team.value+=chkLable[i].innerHTML+",";
                   team.value+= chkInput[i].innerHTML;
                    //
                    
                  }
              }

解决方案 »

  1.   

    这样是取不出value值的。有没有高手帮着解释一下
      

  2.   

    是的,没有value值。   
        
      这是CheckBoxList生成的静态页面:   
      <table   id="CheckBoxList1"   border="0"   style="Z-INDEX:   102;   LEFT:   128px;   POSITION:   absolute;   TOP:   160px">   
      <tr>   
      <td><input   id="CheckBoxList1_0"   type="checkbox"   name="CheckBoxList1:0"   /></td>   
      </tr>   
      </table>   只能变通一下
    按照顺序命名checkboxlist,诸如CheckboxList_1,CheckboxList_2...
    就可以通过循环来找到选中的项
    for (i = 0; i < number; i++)
    {
    if (document.getElementByID("checkboxlistName_" + i ).checked)
    {
    //do something
    }
    }
      

  3.   

    前台
    <head runat="server">
        <title>无标题页</title>
        <script type="text/javascript">
         
        function getSelectCkb()
        {
                var object = document.getElementById("CheckBoxList1");
                var chkInput = object.getElementsByTagName("INPUT"); 
                var chkLable = object.getElementsByTagName("Label"); 
                var chkSpan = object.getElementsByTagName("span"); 
                  for(var i=0;i <chkInput.length;i++) 
                  { 
                      if(chkInput[i].checked) 
                      { 
                       alert(chkSpan[i].selectvalue);                    
                      } 
                  }
        }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        
        <div>
            <asp:CheckBoxList ID="CheckBoxList1" runat="server">
            
            </asp:CheckBoxList><input type=button onclick="getSelectCkb()" />
        </div>
        </form>
    </body>
    </html>
     后台
            ListItem item1,item2,item3;
            item1 = new ListItem("1", "aa");
            item1.Attributes.Add("selectvalue", "aa");
            item2 = new ListItem("2", "bb");
            item2.Attributes.Add("selectvalue", "bb");
            item3 = new ListItem("3", "cc");
            item3.Attributes.Add("selectvalue", "cc");        CheckBoxList1.Items.Add(item1);
            CheckBoxList1.Items.Add(item2);
            CheckBoxList1.Items.Add(item3);
      

  4.   

    用了这个方法后,CheckBoxList实际生成的html是这样的
     <table id="CheckBoxList1" border="0">
    <tr>
    <td><span selectvalue="aa"><input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1$0" /><label for="CheckBoxList1_0">1</label></span></td>
    </tr><tr>
    <td><span selectvalue="bb"><input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1$1" /><label for="CheckBoxList1_1">2</label></span></td>
    </tr><tr>
    <td><span selectvalue="cc"><input id="CheckBoxList1_2" type="checkbox" name="CheckBoxList1$2" /><label for="CheckBoxList1_2">3</label></span></td>
    </tr>
    </table>
      

  5.   

    仔细看一下服务器控件生成的客户端代码就可以知道,CheckBox的Text属性在页面上,但是Value属性并没有,因为Value在ViewState里,所以在客户端直接通过脚本是不可能找到Value的。楼主可以变通一下思路,利用JavaScript的特性,把你的Value值做成数组,变成字符串以后,保存在一个隐藏域里,然后客户端选项发生变化时,根据单选框的索引从隐藏域中或取出字符串,编程数组后取相应的选项值,或采取更好的方案。但无论如何直接取值应该是不行的。