2013-09-17 3 views
0

Я хочу использовать те же функции, что описаны в Check and Uncheck Checkbox Dynamically with jQuery : bug? - то есть один мастер-флажок и два подчиненных флажка.Проверьте и снимите флажок «Динамически» с помощью jQuery: ошибка? II

Разница по сравнению с предыдущим вопросом является то, что мне нужно, чтобы объявить все галочки как кнопки() (содержащийся здесь: 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/

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

ответ

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 example (я добавил CSS, так что вы можете увидеть флажки изменения)

+0

Ваши изменения и обновления кнопок решили, спасибо! –

0

изменения в сценарий:

$(document).ready(function() { 

    $("#myCheck").click(function() { 
     if (!$(this).prop('checked')) { 
      $('.myCheck').each(function() { 
       $(this).prop('checked', false); 
      }); 
     } 
    }); 

    $('.myCheck').click(function() { 
     if (!$("#myCheck").prop('checked')) { 
      event.preventDefault(); 
     } 
    }); 

}); 

Fiddle

Смежные вопросы