отключить все флажки - PullRequest
       0

отключить все флажки

2 голосов
/ 13 октября 2009

следующий код работает нормально, но 1 ошибка

$(document).ready(
function() {


 $("#myCheckboxes input[type='checkbox']").change(function() {
    var checked = $("#myCheckboxes input[type='checkbox']:checked").length;

        if(checked == 4){
           $("#myCheckboxes input[type='checkbox']")
            .attr('disabled',true)
            .find(':checked')
            .attr('disabled',false)
    } else {
        $("#myCheckboxes input[type='checkbox']").attr('disabled',false);
    }


    });
 });

после выбора становится 4 все флажки становятся отключить даже выбранный, но я не хочу отключать выбранные флажки.

Спасибо

Ответы [ 3 ]

11 голосов
/ 13 октября 2009

Попробуйте это

$("#myCheckboxes :checkbox:not(:checked)").attr('disabled', true)

вместо

$("#myCheckboxes input[type='checkbox']")
    .attr('disabled',true)
    .find(':checked')
    .attr('disabled',false)
3 голосов
/ 13 октября 2009

Вы должны заметить, что это не способ включить / отключить элементы DOM.
Рассмотрим:

<input type="checkbox" disabled='true' />
<input type="checkbox" disabled='false' />

Вопреки тому, как это выглядит, поскольку они имеют атрибут disabled, оба элемента управления отключены!
Это для обратной совместимости, когда HTML имел <input type="checkbox" disabled /> - значение игнорируется.

Распространенная причина отключения элемента -

<input type="checkbox" disabled='disabled' />

Поэтому правильный способ сделать это с помощью jQuery:

$("input:checkbox").attr('disabled', 'disabled'); //disable
$("input:checkbox").removeAttr('disabled'); //enable
0 голосов
/ 13 октября 2009

Я уже исправил свой ответ на ваш первоначальный вопрос (который вы странным образом разместили как еще один вопрос на SO). У меня была небольшая опечатка, которая с тех пор была исправлена ​​после вашего комментария: установить общее количество флажков в массиве

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