Я просмотрел сайт и не могу найти ответ на этот вопрос. Не стесняйтесь направить меня к указанному вопросу, если он действительно существует.
В настоящее время я пытаюсь выполнить некоторые операции с флажком на основе дерева, и я пришел к некоторому поведению, которое мне кажется странным.
В Google Chrome я обнаружил, что при проверке флажка появляется некоторый "остаток", если вы это сделаете, это не позволит мне проверить или снять этот флажок, используя "attrRemove (" checked ");"
Интересно, что у Internet Explorer (9) есть результат, который я собираюсь сделать. См. Этот jsFiddle в Chrome и IE для хорошего сравнения эффектов.
http://jsfiddle.net/xixionia/9K5ft/
Может ли кто-нибудь объяснить эту разницу и как я могу проверить/снять флажок в хроме, который был проверен "вручную"?
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 не страдают от этой проблемы. Тем не менее, я опубликовал решение здесь: Настройка "checked" для флажка с jQuery?