<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  <title>无标题页</title>
  <script type="text/javascript">
  function selectAll(chkboxid)
  {  
      var chkbox = document.getElementById(chkboxid);
      var div = chkbox.parentElement.parentElement.parentElement;
      var inputs = div.getElementsByTagName("input");
    
      for(var i=0;i<inputs.length;i++)
      {
          if(inputs[i].type=="checkbox")
          {
             inputs[i].checked=chkbox.checked;
          }
      }
    
  }
  </script></head>
<body>
  <form id="form1" runat="server">
  <div id="divRepeater1" style="float: left; width: 50%; cursor: pointer">
  <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
  <HeaderTemplate>
  <div id="itemDiv" runat="server" class="divHeader">
  <div>
  全选<input type="checkbox" id="checkAll1" onclick="selectAll('checkAll1');" /></div>
  <div>
  学生姓名</div>
  </div>
  </HeaderTemplate>
  <ItemTemplate>
  <div>
  <div id="itemDiv" runat="server" class="divRow">
  <div>
  <asp:CheckBox ID="chkbox" runat="server" />  
    </div>
  <div>
  <%# Eval("Class")%></div>
  </div>
  <hr />
  <asp:Repeater ID="Repeater2" runat="server">
  <ItemTemplate>
  <div id="itemDiv" runat="server" class="divRow">
  <div>
  <asp:CheckBox ID="chkbox2" runat="server" />
  </div>
  <div>
  <%# Eval("Student ")%></div>
  </div>
  </ItemTemplate>
  </asp:Repeater>
  <br /><br />
  </div>
  </ItemTemplate>
  </asp:Repeater>
  </div>
  </form>
</body>
</html>
后台代码:
repeater1绑定数据
 protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
            {
                CheckBox chkbox = e.Item.FindControl("chkbox") as CheckBox;
                if (chkbox != null)
                {
                    Repeater r2 = e.Item.FindControl("Repeater2") as Repeater;
                    chkbox.Attributes.Add("onclick", string.Format("selectAll('{0}')", chkbox.ClientID));
                    //repeater2绑定数据
                }
               
            }
        }

解决方案 »

  1.   

    我想 取到 checkbox的值。并保存到数据库。
    希望各位帮我下谢谢了
      

  2.   

     inputs[i].checked= true;
      

  3.   

    你是想在后台取,还是前台?
    后台的:
     for (int i = 0; i <= Repeater1.Items.Count - 1; i++)
                    {
                        HtmlInputCheckBox cb = (HtmlInputCheckBox)Repeater1.Items[i].FindControl("cbSelect");
                        Label id = (Label)Repeater1.Items[i].FindControl("lbid");
                        Label name = (Label)Repeater1.Items[i].FindControl("lbName");                    if (cb.Checked)
                        {
                            ids += id.Text.ToString() + ",";
                            names += name.Text.ToString() + ",";
                        }
                    }你可以加个label;checkbox只是做选中操作。
      

  4.   

    CheckBox gv = e.Row.FindControl("GridView2") as CheckBox ;
      

  5.   

    前台的话,你就用<input reunt="server"/>
      

  6.   

    麻烦大家 看下 我上面贴的代码,谢谢了
    我贴的代码 已经可以实现 选中了
    但是我不知道 选中的
    checkbox 怎么把值保存到数据库中
    就是不知道怎么取 到值
      

  7.   

    if(!IsPostBack)
     BindData();
    foreach (RepeaterItem item in Repeater1.Items)
      {
      CheckBox Chk= (CheckBox)item.FindControl("chk");//通过Hiddenfiled获取ID
      if(Chk.Checked)
      {
        
      }
      }var table = document.getElementById("<%=Repeater1.ClientID %>");
      var inputs = table.getElementsByTagName("input");
      for(var i=0;i<inputs.length;i++){
      if(inputs[i].type=="checkbox"){
        
      }
      }服务端控件要刷新
     <input type="checkbox" name='ckbName' value='<%# Container.DataItem%>' /><%# Container.DataItem%>
    </ItemTemplate>
        
      protected void btn_Click(object sender, EventArgs e)
      {
      value = Request.Form["ckbName"];} 
      

  8.   


    <body>
      <form id="form1" runat="server">
      <div id="divRepeater1" style="float: left; width: 50%; cursor: pointer">
      <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
      <HeaderTemplate>
      <div id="itemDiv" runat="server" class="divHeader">
      <div>
      全选<input type="checkbox" id="checkAll1" onclick="selectAll('checkAll1');" /></div>
      <div>
      学生姓名</div>
      </div>
      </HeaderTemplate>
      <ItemTemplate>
      <div>
      <div id="itemDiv" runat="server" class="divRow">
      <div>
      <asp:CheckBox ID="chkbox" runat="server" />  
        </div>
      <div>
      <%# Eval("Class")%></div>
      </div>
      <hr />
      <asp:Repeater ID="Repeater2" runat="server">
      <ItemTemplate>
      <div id="itemDiv" runat="server" class="divRow">
      <div>
      <asp:CheckBox ID="chkbox2" runat="server" values='<%#Eval("Student")%>' />
      </div>
      <div>
      <%# Eval("Student ")%></div>
      </div>
      </ItemTemplate>
      </asp:Repeater>
      <br /><br />
      </div>
      </ItemTemplate>
      </asp:Repeater>
      </div>
      </form>
    </body>
    </html>
    后台代码:
    repeater1绑定数据
     protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {
                if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
                {
                    CheckBox chkbox = e.Item.FindControl("chkbox") as CheckBox;
                    if (chkbox != null)
                    {
                        Repeater r2 = e.Item.FindControl("Repeater2") as Repeater;                    string id = chkbox .Attributes["values"].ToString() ;  
                        chkbox.Attributes.Add("onclick", string.Format("selectAll('{0}')", chkbox.ClientID));
                        //repeater2绑定数据
                    }
                   
                }
            }
      

  9.   


        protected void Button1_Click(object sender, EventArgs e)
        {
            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < Repeater1.Items.Count; i++)
            {
                Repeater repeater2 = Repeater1.Items[i].FindControl("Repeater2") as Repeater;
                if (repeater2 != null)
                {
                    for (int j = 0; j < repeater2.Items.Count; j++)
                    {
                        CheckBox cb = repeater2.Items[j].FindControl("chkbox2") as CheckBox;
                        if (cb != null)
                        {
                            if (cb.Checked)
                            {
                                Label lbnum = repeater2.Items[j].FindControl("Label1") as Label;
                                if (lbnum != null)
                                {
                                    string num = lbnum.Text;
                                    builder.Append(num);
                                    builder.Append(",");
                                }
                            }
                        
                        }
                    }
                }
            }        string result = builder.ToString().TrimEnd(',');
        }