我有一个有几列的网格
<div id="AbstractDiv" runat="server" class="DivGrid">
<asp:GridView GridLines="None" ID="Abstract_GridView" runat="server" AutoGenerateColumns="False" CssClass="Grid" CellPadding="0">
<Columns>
<asp:TemplateField HeaderText="Select">
<HeaderTemplate>
<asp:CheckBox ID="AllChk" runat="server" TabIndex="3" CssClass="smallCheckbox"/>
</HeaderTemplate>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<asp:CheckBox ID="SelectChk" runat="server" TabIndex="5" CssClass="smallCheckbox" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="EqpNo" runat="server" value='<%# Bind("Equipmnt_No") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
我在同时检查几个复选框时遇到了问题。我有一列 EqpNo,其 EqpNo 与所选行匹配的所有行都应选中该行复选框。
我提到了url,但它只允许检查一行。下面是我的 Jquery 代码,它检查所有行而不是只匹配一个。
$('#<%=Abstract_GridView.ClientID %>').delegate('tr', 'click', function () {
var SelectRowEqpNo = $(this).find("input[id*=EqpNo]").attr("value"); //trying to get the clicked row EqpNo
$('#<%=Abstract_GridView.ClientID %> tr input[id*="EqpNo"]').each(function () {
var Eachrw = $(this).val(); //getting each row EqpNo
if (SelectRowEqpNo == Eachrw) { //Comparing both values if matching
$('#<%=Abstract_GridView.ClientID %> tr input[id*="SelectChk"]:checkbox').attr('checked', true);
}
});
});