孟子大哥,我想用javascript在客户端实现gridview的全选。其中gridview中第一列的有些checkbox是禁止选择了的(disabled="disabled"),该怎样实现全选的时候让那些禁止选择的的checkbox 不被选中呢?我用你网站上的那个例子只能全选,我想让那些被禁止选择的checkbox不能被选择 function CheckAll(obj)
          {
                var grid = $("<%= gvList.ClientID%>");
               for (var i=0;i<grid.rows.length;i++)
               {
                    if (grid.rows[i].cells[0].getElementsByTagName("INPUT")[0].disabled == "disabled")
                    {
                        grid.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = false;//这样写不行,这里该怎么写啊?
                    }
                    else
                    {
                        grid.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = obj.checked;
                    }
               } 
          }<asp:GridView ID="gvList" runat="server" AutoGenerateColumns="False">
              <Columns>
                  <asp:TemplateField>
                    <HeaderTemplate>
                        <asp:CheckBox ID="chkAll" runat="server"  onclick="CheckAll(this);"  />
                    </HeaderTemplate> 
                    <ItemTemplate>
                        <asp:CheckBox ID="chk" runat="server" Enabled="false" />
                    </ItemTemplate>
                  </asp:TemplateField>
                  <asp:BoundField DataField="Id" HeaderText="Id" />
              </Columns>
          </asp:GridView>
  

解决方案 »

  1.   

     if (grid.rows[i].cells[0].getElementsByTagName("INPUT")[0].disabled == "disabled")
    改为 ==true 试试.<div id="div1">
    <input type="checkbox" id="c1" disabled="true" />aa
    <br/>
    <input type="checkbox" id="c2" />bb
    </div>
    <script>
    var obj = document.getElementById("div1");
    var objs=document.getElementsByTagName("input");
    for(var i=0;i<objs.length;i++)
    {
    if(objs[i].disabled!=true)
    objs[i].checked=true;
    }
    </script>
      

  2.   

    fcuandy ,按你的改成true就搞定了