document.getElementById("checkboxlist")为什么总为空啊,

解决方案 »

  1.   

    document.getElementById("checkboxlist")为什么总为空啊,  当然啦你这句代码是得到了Checkboxlist的id并没有得到他的值自己再琢磨下
      

  2.   

    dropdownlist,listbox,都可以,为什么checkbox不可以啊?
      

  3.   

    你获取checkbox的JS代码没有错,   你把代码贴出来啊   光这一句怎么看。。
      

  4.   

     var arr = form1.elements.length;
                for (var i = 0; i < arr; i++) {
                    var e = form1.elements[i];
                    if (e.type == "radio" && e.checked == true) {
                        alert("您选择了第" + i + "个Item!它的值value=" + e.value);
                                            break;
                    }
                }
      

  5.   

    你页面上有checkboxlist控件吗,是自定义控件吗?
    我记得Asp.Net系统提供的是RadioButtonList,
    而且引用时要写成document.getElementById("<%=RadioButtonList.ClientID%>");
      

  6.   

     <script type="text/javascript">
    function cityChange()
       {   
        
        var obj = document.all["ListBox1"].options[document.all["ListBox1"].selectedIndex].value; 
      // alert(obj);   
        var response = Storage_Default4.ProvinceChange(obj);
      // alert(response);   
        var i=0;    if(response.value != "")
        {
        //alert(response.value);
         eval(response.value);
     //    document.all["ki"].length = 0;
         var p=  document.getElementById("CheckBoxList1");
        // alert(p);
    //     var oOption = document.createElement("OPTION");
    //     oOption.value = "0";
    //     oOption.text = "---请选择---";
    //     document.all["DropDownList2"].add(oOption);
         for(i=0;i<ajaxCity.Citys.length;i++)
         {
          var oOption = document.createElement("OPTION");
          oOption.value = ajaxCity.Citys[i].ID;
          oOption.text = ajaxCity.Citys[i].Name;
          document.all["CheckBoxList1"].add(oOption);
         }
        }
        
       }
       </script> 
    [Ajax.AjaxMethod()]    //[AjaxPro.AjaxMethod()]
        public string ProvinceChange(string strValue)
        {
            DataTable dt = new DataTable();
            string result = "";
            try
            {
                dt = zc.GetButtion(strValue);
                result = "var ajaxCity={\"Citys\":[";
                if (dt != null)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        if (i == dt.Rows.Count - 1)
                        {
                            result += "{\"ID\":\"" + dt.Rows[i]["BT_ID"].ToString() + "\",\"Name\":\"" + dt.Rows[i]["Button_Name"].ToString().Trim() + "\"}";
                        }
                        else
                        {
                            result += "{\"ID\":\"" + dt.Rows[i]["BT_ID"].ToString() + "\",\"Name\":\"" + dt.Rows[i]["Button_Name"].ToString().Trim() + "\"},";
                        }
                    }
                }
                result += "]};";
                return result;
            }
            catch
            {
                return "";
            }
        }
      

  7.   

    checkboxlist 是asp.net自带控件
      

  8.   

    楼主仔细看看checkboxlist生成的HTML代码标签就明白了
      

  9.   

    <asp:CheckBoxList ID="CheckBoxList1" runat="server">
              
            </asp:CheckBoxList>有问题 么
      

  10.   

    那就写成
    document.getElementByID("<%=CheckBoxList1.ClientID%>");
      

  11.   

    写成
    document.getElementByID(" <%=CheckBoxList1.ClientID%>");
    看下了
      

  12.   

    偶的个神,服务器控件都最终生成为HTML了,怎么可以直接getElementById
    document.getElementByID(" <%=xx.ClientID%>");
      

  13.   

    checkboxlist就是获取不到,dropdown,listbox都可以
      

  14.   

    方法一:
    var arr = form1.elements.length; 
                for (var i = 0; i < arr; i++) { 
                    var e = form1.elements[i]; 
                    if (e.type == "radio" && e.checked == true) { 
                        alert("您选择了第" + i + "个Item!它的值value=" + e.value); 
                                            break; 
                    } 
                }
    方法二:
    var cb=document.getElementTagsName("input")方法三:
    在服务器端去遍历checkBoxList的Items如下
       for (int i = 0; i < this.CheckBoxList1.Items.Count;i++ ) {
                 string text=this.CheckBoxList1.Items[i].Text
                   string value= this.CheckBoxList1.Items[i].Value
            }
      

  15.   

    getElementById  当然获取不到 你看看html代码    checkboxlist生成checkbox本身就是独立的元素  即每个checkbox都是独立开的  并没有像dropdownlist生成的那样是<select><option></option></select>的从属关系  你用option当然得不到实例。
      

  16.   

    这个哥哥,那我要JS里是不是用不了 checkbox?
      

  17.   


    兄弟,是生成的前台html代码..并不是你所编写的前台代码....
    假如编写的是 <asp:CheckBoxList ID="CheckBoxList1" runat="server">
                <asp:ListItem Value="1" Text="a"></asp:ListItem>
                <asp:ListItem Value="2" Text="b"></asp:ListItem>
            </asp:CheckBoxList>生成为
    <table id="CheckBoxList1" border="0">
    <tr>
    <td><input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1$0" /><label for="CheckBoxList1_0">a</label></td>
    </tr><tr>
    <td><input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1$1" /><label for="CheckBoxList1_1">b</label></td>
    </tr>
    </table>
    当然直接采用document.getElementById不可行了.我想这样说楼主不会再问有没有问题了吧
      

  18.   

    checkboxlist生成的是一个表格,内部包括了<input>的复选标签。你先确认到底需要获取什么对象?然后再取那对象的clientID
      

  19.   

    一般页面上的服务器控件在输入到页面后,ID前面会加上其他字符的。比如我页面上有一个:
    <asp:CheckBox ID="CheckBox1" runat="server" Text="选择" />
    但页面生成之后的ID就变成了:
    ctl00_ContentPlaceHolder1_CheckBox1
    所以获取的时候就要用:
    document.all["ctl00_ContentPlaceHolder1_CheckBox1"];
    -----------------------------
    你先把页面调出来,然后点右键选“查看源代码”在里面找到你要的那个控件,用生成的ID去取。
      

  20.   

    for(i=0;i<1000;i++){
    var box=document.getElementById("CheckBoxList1_0");
    if(box){
      if(box.checked="checked")
        alert(box.value);
      //if(box.checked)    不怎么记得是bool还是checked了
      //  alert(box.value);
    }
    else
      break;
    }
      

  21.   

    for(i=0;i <1000;i++){ 
    var box=document.getElementById("CheckBoxList1_"+i); 
    if(box){ 
      if(box.checked="checked") 
        alert(box.value); 
      //if(box.checked)    不怎么记得是bool还是checked了 
      //  alert(box.value); 

    else 
      break; 
    }
    前面的错了
    var box=document.getElementById("CheckBoxList1_"+i); 
      

  22.   

    function query()
            { 
                var i=0;
                var chkInput =document.getElementById("CheckBoxList1").getElementsByTagName("input");
                var chkLabel =document.getElementById("CheckBoxList1").getElementsByTagName("label");
                for(i=0;i<chkInput.length;i++)
                {
                   if(chkInput[i].checked==true)
                   {
                     alert(chkLabel[i].innerHTML);
                   }
                   
                }
            }
      

  23.   

    只有27楼是对的
    function query()
      {  
      var i=0;
      var chkInput =document.getElementById("CheckBoxList1").getElementsByTagName("input");
      var chkLabel =document.getElementById("CheckBoxList1").getElementsByTagName("label");
      for(i=0;i<chkInput.length;i++)
      {
      if(chkInput[i].checked==true)
      {
      alert(chkLabel[i].innerHTML);
      }
        
      }
      }