点击GirdView表头的复选框时它下面的所有数据的复选框也都选中,现在在一个页面有2个GridView当我选中其中一个GridView的表头复选框时,另外一个GridView也选中了。我想点击一个GridView的时候另外一个GridView不让他选中
我的代码  function CheckAll(chbAll)
        {
            var input=document.getElementsByTagName("input");
            for(var i=0;i<input.length;i++)
            {
                if(input[i].type=="checked")
                {
                    input[i].checked=chbAll.checked;
                }
            }
        }
这是我的模板列
 <asp:TemplateField HeaderText="全选">
       <HeaderTemplate>
          <input type="checkbox" id="chbAll1" onclick="CheckAll(this)" />
        </HeaderTemplate>
        <ItemTemplate>
         <asp:CheckBox ID="chbOne" runat="server" />
         </ItemTemplate>
<asp:TemplateField>
     

解决方案 »

  1.   


    function checkAll(obj)
    {
    var grid=document.getElementById("<%=GridView1.ClientID%>");
    for(var i=0;i<grid.rows.length;i++)
    {
    grid.rows[i].cells[0].getElementsByTagName("input")[0].checked=obj.checked;
    }}
    <input type="checkbox" id="chbAll1" onclick="CheckAll(this)" />
      

  2.   

    protected void CheckBoxAll_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox chall = (CheckBox)sender;
            foreach (GridViewRow grvRow in GridView1.Rows) 
            {
                CheckBox chselect = (CheckBox)grvRow.FindControl("chselect");
                chselect.Checked = chall.Checked;
            }
        }
      

  3.   

    让另一个gridview的checkbox也被选中或不被选中,在上面的代码上改下即可。
      

  4.   

      protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
        {
            for (int i = 0; i <= GridView1.Rows.Count - 1; i++)
            {
                CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
                if (CheckBox2.Checked == true)
                {
                    cbox.Checked = true;
                }
                else
                {
                    cbox.Checked = false;
                }
            }
        }
      

  5.   

    var arr=document.getElementById("").getElementsByTagName("input");
        for (var i=0;i <arr.length;i++) 
        { 
            if(arr[i].type="checkbox") 
            { 
                  arr[i].checked=true;
            } 
        } 
      

  6.   

    如果使用CheckBox2_CheckedChanged
     CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
     cbox.Checked=!cbox.Checked;