3

問題を解決するために StackOverflow で複数の例を試した後でも、まだ問題がわかりません。

私は3つのチェックボックスを持っています:

<input id="pets_dog" class="text" type="checkbox" class="pets" name="pets[]" value="pets_dog"> Dogs</input>
<input id="pets_cats" class="text" type="checkbox" class="pets" name="pets[]" value="pets_cats"> Cats</input>
<input id="pets_none" class="text" type="checkbox" class="pets" name="pets[]" value="pets_no"> None</input>

「pets_none」がチェックされている場合は、他の 2 つのチェックボックスをオフにする必要があり、その逆も同様です。これが私の現在のjQueryコードです:

        $("#pets_none").change(function() {
            if($("#pets_none").attr('checked')) {
            $("#pets_cats").removeAttr('checked');
            $("#pets_dogs").removeAttr('checked');
            } 
        });

なぜそれが機能しないのか、一生わからないので、助けていただければ幸いです。

4

4 に答える 4

4

prop次の方法を使用できます。

 $("#pets_none").change(function() {
     if (this.checked) {
        $("#pets_cats, #pets_dog").prop('checked', false);
     } 
 });
于 2012-06-16T19:41:51.653 に答える
2

.prop()次の方法を使用します。

...

$("#pets_cats").prop('checked', false);
$("#pets_dogs").prop('checked', false);

...

がチェックされているかどうかを確認するに#pets_noneは、そのメソッドも使用します。

$("#pets_none").prop('checked');
于 2012-06-16T19:38:24.037 に答える
1
var checked = $(this).find('Enable').text().toLowerCase();
$("#chk__Enable").each(function () {
    if (checked == 'true') {
        $(this).attr('checked', 'checked');
    } else {
        $(this).removeAttr('checked');
    }
});
于 2013-07-11T06:07:20.623 に答える