1

次のようなasp.netチェックボックスリストがあります。

<asp:CheckBoxList ID="cblCurrency" runat="server">
    <asp:ListItem Text="ALL" Value="0"></asp:ListItem>
    <asp:ListItem Text="A" Value="1"></asp:ListItem>
    <asp:ListItem Text="B" Value="2"></asp:ListItem>
    <asp:ListItem Text="C" Value="3"></asp:ListItem>
    <asp:ListItem Text="D" Value="4"></asp:ListItem>
</asp:CheckBoxList>

「ALL」が選択されている場合は、他のすべてのチェックボックスからチェック済みのプロパティを削除し、他のチェックボックスが選択されている場合は、「ALL」のチェック済みのプロパティを削除する必要があります。私はjavascriptを使用してこれを達成したいのですが、最も望ましいのはjQueryです。やり方わかる方回答お願いします。助けていただければ幸いです。

4

3 に答える 3

1

これが私の解決策です:

$("#<%=cblCurrency.ClientID%> input").click(function () {
    if ($('<%= "#" + cblCurrency.ClientID + "_0" %>').is(":checked")) {
        $("#<%=cblCurrency.ClientID%> input:checkbox").not(this).prop("checked", false);
    }
});

基本的に、ASP.NET によって生成され、末尾の ID 属性で使用されるチェック ボックスのインデックスを利用します。このように:cblCurrency_1これは、インデックス 1 のチェックボックスを意味します。

于 2013-07-20T03:03:11.793 に答える
0

これを試して:

マークアップ:

<asp:CheckBoxList ID="cblCurrency" runat="server" CssClass="CheckBoxList" ClientIDMode="Static">
    <asp:ListItem Text="ALL" Value="0"></asp:ListItem>
    <asp:ListItem Text="A" Value="1"></asp:ListItem>
    <asp:ListItem Text="B" Value="2"></asp:ListItem>
    <asp:ListItem Text="C" Value="3"></asp:ListItem>
    <asp:ListItem Text="D" Value="4"></asp:ListItem>
</asp:CheckBoxList>

JavaScript:

$(document).ready(function () {
    $(".CheckBoxList input:checkbox:first").change(function () {
        $(".CheckBoxList").find(':checkbox').prop("checked", this.checked);
    });

    $(".CheckBoxList input:checkbox:not(first)").change(function () {
        $(".CheckBoxList").find(':checkbox:first').prop("checked", this.checked);
    });
});
于 2013-07-20T02:28:49.160 に答える