Включить флажок при нажатии другого флажка с помощью Jquery - PullRequest
1 голос
/ 29 октября 2009

Я отключил все флажки, кроме одного. При нажатии этого флажка я хочу включить все флажки. и если этот флажок снят, все остальные флажки должны оставаться отключенными. Кто-нибудь может помочь мне с этим. Я пытался использовать

$(document).ready(function() {<br>
    if ($('#mainCheckbox').is(':checked')) {<br>
     $(".otherCheckbox").removeAttr("disabled");
     }      
});

Но это не работает для меня.

Ответы [ 3 ]

5 голосов
/ 29 октября 2009

Это прекрасно работает для меня

<input type="checkbox" id="chkMain" /><br
<input class="child" type="checkbox" id="chk1" disabled="true" />
<input class="child" type="checkbox" id="chk2" disabled="true" />
<input class="child" type="checkbox" id="chk3" disabled="true" />
<input class="child" type="checkbox" id="chk4" disabled="true" />
<input class="child" type="checkbox" id="chk5" disabled="true" />

$(function(){
  $("#chkMain").click ( function() {

    if ( !$(this).is ( ":checked" ) )
    {
      $(".child").attr ( "disabled" , true );
    }
    else
    {
      $(".child").removeAttr ( "disabled" );
    }
  });
});

Рабочая демоверсия

Если вы также можете опубликовать HTML, это будет более полезно.

1 голос
/ 29 октября 2009

это работает:

if($("#mainCheckbox").is(":checked")){
    $("input:checkbox").not(this).removeAttr("disabled");
}
else{
    $("input:checkbox").not(this).attr("disabled","true");
}
0 голосов
/ 29 октября 2009

Вот решение (обратите внимание на каждую функцию):

function toogleOthersIf(aBoolean) {
    $(".otherCheckBox").each(function() {
        if (aBoolean) {
            $(this).removeAttr("disabled");
        } else {
            $(this).attr("disabled", "disabled");
        }
    });
}

$(document).ready(function(){
    $('#mainCheckBox').click(function(e) {
        toogleOthersIf($('#mainCheckBox:checked').length > 0);
    });

    toogleOthersIf(false);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...