0

Asp.net チェックボックス リストのすべての要素を選択/選択解除するためのチェックボックスがあります。

すべてのチェックボックスリストを選択すると、チェックされた値がレンダリングされません。Google Chrome ツールを使用してコードを調べると、checkboxlist 要素が checked="checked" になっていることがわかりますが、フラグがチェックされているのがわかりません!!

aspx コード:

 <asp:CheckBox ID="selAllckb_canone" runat="server" ClientIDMode="Static" Text="Seleziona tutti" />
        <asp:CheckBoxList ID="ckb_canone" runat="server" ClientIDMode="Static" >
            <asp:ListItem>Gennaio</asp:ListItem>
            <asp:ListItem>Febbraio</asp:ListItem>
            <asp:ListItem>Marzo</asp:ListItem>
            <asp:ListItem>Aprile</asp:ListItem>
            <asp:ListItem>Maggio</asp:ListItem>
            <asp:ListItem>Giugno</asp:ListItem>
            <asp:ListItem>Luglio</asp:ListItem>
            <asp:ListItem>Agosto</asp:ListItem>
            <asp:ListItem>Settembre</asp:ListItem>
            <asp:ListItem>Ottobre</asp:ListItem>
            <asp:ListItem>Novembre</asp:ListItem>
            <asp:ListItem>Dicembre</asp:ListItem>
        </asp:CheckBoxList>

jqueryコード:

function sel_all(id_selAll, idcombolist) {
        $("#" + id_selAll).bind("click", function () {
            if ($(this).is(":checked")) {
                $("INPUT[id^='" + idcombolist + "_']").attr("checked", "checked");
            } else {
                $("INPUT[id^='" + idcombolist + "_']").removeAttr("checked");
            }
        });
        $("INPUT[id^='" + idcombolist + "_']").bind("click", function () {
            if ($("INPUT[id^='" + idcombolist + "_']:checked").length == $("INPUT[id^='" + idcombolist + "_']").length) {
                $("#" + id_selAll).attr("checked", "checked");
            } else {
                $("#" + id_selAll).removeAttr("checked");
            }
        });

 $(function () {

        sel_tutti("selAllckb_canone", "ckb_canone");

});
4

1 に答える 1

3

.attr()の代わりに.prop( ) を使用してチェック済みステータスを設定します

$("INPUT[id^='" + idcombolist + "_']").prop("checked", this.checked);

読む: prop vs attrs

試す

function sel_all(id_selAll, idcombolist) {
    var $chcks = $("INPUT[id^='" + idcombolist + "_']"),
        $all = $("#" + id_selAll);
    $all.on("click", function () {
        $chcks.prop("checked", this.checked);
    });
    $chcks.on("click", function () {
        $all.prop("checked", $chcks.not(':checked').length == 0);
    });

    $(function () {
        sel_tutti("selAllckb_canone", "ckb_canone");
    });
于 2013-11-08T09:08:14.280 に答える