我有两个复选框列表,我想得到这些复选元素的数量。下面是我的代码:
<div id="divAreaListingByLocation">
<asp:CheckBoxList ID="chklstArea" CssClass="chkarea" RepeatColumns="6" RepeatDirection="Vertical"
runat="server" OnSelectedIndexChanged="chklstArea_SelectedIndexChanged" AutoPostBack="true">
</asp:CheckBoxList>
</div>
<asp:Repeater ID="repRooms" runat="server" OnItemDataBound="repRooms_ItemDataBound">
<ItemTemplate>
<div style="height: 100%; float: none;">
<asp:Panel ID="pnlRoomheader" runat="server" Style="width: 98%; background-color: #86ADD6;
color: #4A4A4A; height: 20px; margin-top: 10px; text-align: left; padding: 5px;
font-size: 15px; font-weight: bold;">
<asp:Label ID="lblAreaName" runat="server"></asp:Label>
<asp:Label ID="lblAreaId" Style="display: none;" runat="server"></asp:Label>
</asp:Panel>
<div id="divRoomListingByLocation" style="padding-bottom: 10px; padding-top: 10px;">
<asp:CheckBoxList ID="chkRoomList" CssClass="chkRooms" RepeatColumns="6" RepeatDirection="Vertical"
runat="server">
</asp:CheckBoxList>
<asp:Label ID="lblRoomMessage" Text="This Area does not have any room." ForeColor="Red"
runat="server"></asp:Label>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
我想要做的是:如果用户没有选中这两个复选框中的任何一个,那么它会提示一个警告,说明点击一个按钮就可以选中两个列表中的一个复选框。
我已尝试使用类,但该类附加到了checkboxlist的html表格中。
答案 0 :(得分:4)
var n = $("input:checked").length;
假设asp页面返回了一堆<input>
元素。
答案 1 :(得分:4)
由于您使用的是复选框列表,因此它会将指定的类应用于表而不是复选框。那里你必须使用
$(".chkarea").find("input:checked").length;
这将返回为类别为“chkarea”的复选框列表检查的所有复选框的计数
答案 2 :(得分:1)
您可以将通配符用作复选框列表ID,因为复选框列表生成的ID将以此ID开头。
count = $("[id^=chklstArea] , [id^=chkRoomList]").filter(function(){
if($(this).is(':checked'))
return $(this);
}).length;
答案 3 :(得分:1)
<script type="text/javascript">
function fnc()
{
x=document.getElementById("chkdiv").elements;
for(i=0;i<x.length;++i)
{if(x[i].type=='checkbox' && x[i].checked)
alert("checked");
}
}
</script>
<form id="chkdiv">
<input type="checkbox" id="chk1">
<input type="checkbox" id="chk2">
<button id="button" onClick="fnc()">click</button>
</form>