Я просмотрел сайт и не могу найти ответ на этот вопрос. Не стесняйтесь направить меня к указанному вопросу, если он действительно существует.
В настоящее время я пытаюсь выполнить некоторые операции с флажками на основе дерева, и я столкнулся с некоторым поведением, которое мне кажется странным.
В Google Chrome я обнаружил, что проверка флажка оставляет, если хотите, некоторые «остатки», которые не позволяют мне проверять или снимать флажок с помощью «attrRemove ('флажок»); "
Интересно, что у Internet Explorer (9) есть результат, к которому я стремлюсь. Пожалуйста, посмотрите это jsFiddle в Chrome и IE для хорошего сравнения эффектов.
http://jsfiddle.net/xixionia/9K5ft/
Может кто-нибудь объяснить эти различия, и как я могу установить / снять флажок в chrome, который был проверен «вручную»?
HTML
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
<input type="checkbox" />
JavaScript
$(':checkbox').click(function(e) {
if($(this).is(':checked')) {
$(':checkbox').attr('checked', 'checked');
} else {
$(':checkbox').removeAttr('checked');
}
});
Заранее спасибо за помощь. :)
редактирование:
Мне удалось найти эту работу вокруг. Если у кого-то есть другие решения, пожалуйста, дайте мне знать, и я отмечу это как решение. :)
$(':checkbox').click(function(e) {
var value = this.checked;
$(':checkbox').each(function(){ this.checked = value; });
});
редактирование:
Оказывается, эта проблема специфична для jQuery 1.6. Предыдущие версии jQuery не страдают от этой проблемы. Тем не менее, я разместил решение здесь: Установка "флажок" для флажка с jQuery?