我在ASP.Net页面中有一个GridView,其ID为GridView1,我在第一列中有一个复选框。示例代码如下。
当我点击id为btnSubmit的按钮时,我想确保在gridview中至少选中了一个复选框。
我如何使用jQuery执行此操作?
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField>
<HeaderStyle HorizontalAlign="Left" />
<HeaderTemplate>
<asp:CheckBox ID="chkSelectAll" ToolTip="Click here to select/deselect all rows" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" EnableViewState="true" />
</ItemTemplate>
</asp:TemplateField>
//other columns follow
</Columns>
</asp:GridView>
<asp:Button id="btnSubmit" runat="server> />
答案 0 :(得分:2)
最好在ItemTemplate中使用类的复选框。现在我将在两种情况下给出解决方案。
这将为您提供如果选中至少1复选框的信息。但这是一种通用方式。如果你在外部JS文件中编写这个JS,那么最好为gridview添加一个类。
$('#<%= GridView1.ClientID%> input[type="checkbox"]:checked').length>0
如果您已为GridView控件(grdMyGrid)和复选框(“chkMyCheckBox”)应用了类。
$('.grdMyGrid .chkMyCheckBox:checked').length>0
这是更简单和推荐的方式。您可以在IF子句中使用上述语句,或将结果分配给变量以供以后使用。
答案 1 :(得分:1)
您可以在checkboxes
中获取所有GridView1
,然后检查其是否包含任何已检查的元素:
var hasAnyChecked = $("#GridView1 input[type = checkbox]").is(":checked")
您也可以尝试获取所有选中的元素,然后转到 length
var hasAnyChecked = $("#GridView1 input[type = checkbox]:checked").length != 0