Если я понимаю, что вы говорите, проблема; дело в том, что флажок работает, когда вы вручную выбираете и отменяете их выбор, если список классов изменяется, но когда вы используете свой выбор / отмените выбор, все флажки отмечены / не отмечены, но список классов не изменен.
Это потому, что вы просто изменяете атрибут своих входов-флажков, если они должны быть выбраны или нет, вы не trigger
отмечаете ваше change
событие для каждого входа, который выполняет модификации списка классов.
Вы должны быть в состоянии просто решить вашу проблему, добавив .trigger('change')
в конец ваших вызовов .attr(...)
и .removeAttr(...)
, чтобы вызвать ваше существующее событие change
, которое затем определит, проверен ли ввод или нет, и выполнит соответствующий список классов модификации:
jQuery(document).ready(function(){
jQuery('.content-type-selection .check:button').toggle(function(){
jQuery('.content-type-selection input:checkbox').attr('checked','checked').trigger('change');
jQuery(this).val('uncheck all')
},function(){
jQuery('.content-type-selection input:checkbox').removeAttr('checked').trigger('change');
jQuery(this).val('check all');
})
})