2012-05-07 34 views
0

我使用asp.net的GridView的头,我有两列GridView控件与多个复选框列和选择所有列标题

column select all employee | column select all employer 

,所以我有两个复选框两列,所以一旦它的点击全选雇员应该只选择所有雇员,同样与雇主

但下面的代码是选择雇员和雇主,如果只选择雇主。

function SelectAllCheckboxes(chk) { 
     $('#<%=gv.ClientID%>').find("input:checkbox").each(function() { 
      if (this != chk) { this.checked = chk.checked; } 
     }); 
    } 

    function SelectAllCheckboxes1(chk) { 
     $('#<%=gv.ClientID%>').find("input:checkbox").each(function() { 
      if (this != chk) { this.checked = chk.checked; } 
     }); 
    } 


<asp:CheckBox ID="chkAll" runat="server" onclick="javascript:SelectAllCheckboxes(this);" /> 

<asp:CheckBox ID="chkAll1" runat="server" onclick="javascript:SelectAllCheckboxes1(this);" /> 
+0

你是什么意思?当你点击'Select All Employers'时,Select All Employees'也会被检查? –

+0

嗯,这是有道理的,因为你没有区分两个复选框。在服务器端的“雇主”雇主复选框添加一个类然后,选择“输入:checkbox.employer” – tedski

+0

我有两列在gridview标题,如果点击列1列1复选框应该是选择,如果我点击第2列然后第2列复选框应该选择,但在我的情况下,如果我选择第1列,那么列1和列2复选框被选中 –

回答

1

ASP - 在你的GridView:

<asp:GridView id="gv" runat="server"> 
    <asp:TemplateField> 
     <ItemTemplate> 
      <asp:CheckBox id="cbxSelectEmployer" runat="server" CssClass="employer" /> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField> 
     <ItemTemplate> 
      <asp:CheckBox id="cbxSelectEmployee" runat="server" CssClass="employee" /> 
     </ItemTemplate> 
    </asp:TemplateField> 
</asp:GridView> 

ASP - “全选” 复选框:

<asp:CheckBox ID="chkAll" runat="server" onclick="SelectAllCheckboxes(this, '.employee')" /> 
<asp:CheckBox ID="chkAll1" runat="server" onclick="SelectAllCheckboxes(this, '.employer')" /> 

jQuery的

function SelectAllCheckboxes(chk, selector) { 
    $('#<%=gv.ClientID%>').find(selector + " input:checkbox").each(function() { 
     $(this).prop("checked", $(chk).prop("checked")); 
    }); 
} 
+0

好吧,所以粘贴代码,当我点击在标题中的复选框没有做任何事情没有错误什么都没有 –

+0

然后我就这样传递'onclick =“SelectAllCheckboxes(this,'employee')”'(取出点)然后它抛出一个错误在这里 '微软JScript运行时错误:抛出异常并没有捕获' –

+0

我得到的错误是在jquery.js –

相关问题