0

他のチェックボックスの1つをクリックする$('#checkbox_all').attr('checked', false);と、チェックを外す ために使用 します。$('#checkbox_all')正常に動作しますが、クリック$('#checkbox_all')してもチェックされません。

したがって$('#checkbox_all')、どういうわけか正しく機能しません。常にチェックされていません。

何が足りないのですか?それを修正する方法は?

ありがとうございました!

$(document).ready(function () {

        $('#checkbox_all').attr('checked', true);

        $('input[id^="checkbox_"]').click(function () {
            $('#checkbox_all').attr('checked', false);
        });

        $('#checkbox_all').click(function () {
            alert("!!!");
        });
    });
4

3 に答える 3

2

propの代わりに使用attr:

$('#checkbox_all').prop('checked', true);

propDOM のプロパティを扱い、属性は属性とその値を扱います。DOM の変数の代わりに属性を変更する attr を使用するには、次のcheckedようにします。

$('#checkbox_all').attr('checked', "checked");

.is( condition )次のように、jQuery の を使用して、チェックされているすべてのチェックボックスを見つけることができます。

$('#someCheckBox').is(":checked"); // returns true false

また:

$('#someCheckBox').prop("checked"); // returns true false

さらに、クリックすると、 のプロパティが変更され#checkbox_allます。他のすべてのチェックボックスのプロパティを変更したくないですか? そのようです:

$("input[type=checkbox]")
于 2012-07-27T14:15:48.323 に答える
2

#checkbox_allセレクターに含まれている$('input[id^="checkbox_"]')ので、onclickのチェックを外すように言われています。

于 2012-07-27T14:17:09.407 に答える
2

それがcheckbox_allであっても、チェックボックスがクリックされたときに、checkbox_allをfalseに設定しています。また、jQuery 1.7 を使用している場合は、 attr( )の代わりにprop()を使用する必要があります。これを試して:

$(document).ready(function () {
    $('#checkbox_all').prop('checked', true);

    $('input[id^="checkbox_"][id!=checkbox_all]').click(function () {
        $('#checkbox_all').prop('checked', false);
    });

    $('#checkbox_all').click(function () {
        alert("!!!");
    });
});
于 2012-07-27T14:17:17.863 に答える