0

「 jQuery を使用してチェックボックスを動的にチェックおよびチェック解除する」で説明されているのと同じ機能を使用したい: バグ? - つまり、1 つのマスター チェックボックスと 2 つのスレーブ チェックボックスです。

前の質問との違いは、すべてのチェックボックスを button() として宣言する必要があることです (ここに含まれているように: http://jqueryui.com/button/#checkbox ):

$(document).ready(function() {

    $( "#myCheck" ).button();
    $( "#myCheck2" ).button();
    $( "#myCheck3" ).button();

    $('#myCheck').click(function() {
        $('.myCheck').prop('checked', false);
    });

    $('.myCheck').click(function() {
        if ($('.myCheck').is(':checked')) {
            $('#myCheck').prop('checked', false);
        } else {
            $('#myCheck').prop('checked', true);
        }
    });

});

http://jsfiddle.net/uQfMs/90/を参照してください

この違いの結果、機能が失われます。理由がわかりません。

4

2 に答える 2

0

これを試して:

$(document).ready(function () {
    $("#myCheck,#myCheck2,#myCheck3").button();
    $('#myCheck').click(function () {
        $('.myCheck').prop('checked', $(this).is(':checked'));
        $("#myCheck,#myCheck2,#myCheck3").button('refresh');
    });
    $('.myCheck').click(function () {
        if ($('.myCheck:checked').length === $('.myCheck').length) $('#myCheck').prop('checked', true);
        if ($('.myCheck:checked').length < $('.myCheck').length) $('#myCheck').prop('checked', false);
        $("#myCheck,#myCheck2,#myCheck3").button('refresh');
    });
    $('#myCheck').click();
});

jsFiddle の例(チェックボックスの変化を確認できるように CSS を追加しました)

于 2013-09-17T19:13:27.543 に答える