1

私は 2 つのチェックボックス リストを持っています。これらのチェックされた要素の数を取得したいと考えています。以下は私のコードです:

<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>

私がやりたいことは、ユーザーがこれら2つのチェックボックスのいずれもチェックしなかった場合、ボタンをクリックすると両方のリストからチェックボックスの1つをチェックするというアラートが表示されます.

クラスで試してみましたが、クラスはチェックボックスリストのhtmlでレンダリングされるテーブルに追加されます。

4

4 に答える 4

4

jQuery の場合:

var n = $("input:checked").length;

asp ページが一連の<input>要素を返すと仮定します。

例については、このフィドルを参照してください。

于 2012-11-21T08:20:04.340 に答える
1

チェックボックス リストによって生成される ID はこの ID で始まるため、チェックボックス リスト ID にワイルド カードを使用できます。

count = $("[id^=chklstArea] , [id^=chkRoomList]").filter(function(){
            if($(this).is(':checked')) 
                  return $(this);
         }).length;
于 2012-11-21T08:29:47.323 に答える
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>
于 2012-11-21T08:33:07.840 に答える