jQuery, Chrome e caixas de seleção. Comportamento estranh
Procurei no site e não consigo encontrar uma resposta para esta pergunta. Sinta-se à vontade para me direcionar para a pergunta, se ela realmente existi
Atualmente, estou tentando fazer algumas operações de caixa de seleção baseadas em árvore e me deparei com algum comportamento que acho estranh
No Google Chrome, acho que marcar uma caixa de seleção deixa algum "resíduo", se desejar, que não permitirá que eu marque ou desmarque essa caixa de seleção usando "attrRemove ('marcado');"
Curiosamente, o Internet Explorer (9) tem o resultado que estou buscando. Veja este jsFiddle no Chrome e no IE para uma boa comparação dos efeitos.
http: //jsfiddle.net/xixionia/9K5ft
Alguém pode explicar essa diferença e como posso marcar / desmarcar uma caixa de seleção no chrome que foi marcada "manualmente"?
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');
}
});
Agradeço antecipadamente por sua ajuda. :)
editar
Consegui encontrar esse trabalho. Se mais alguém tiver outras soluções, entre em contato e eu a marcarei como a solução. :)
$(':checkbox').click(function(e) {
var value = this.checked;
$(':checkbox').each(function(){ this.checked = value; });
});
editar
Volta, esse problema é específico ao jQuery 1.6. Versões anteriores do jQuery não sofrem com esse problema. No entanto, postei uma solução aqui:Configurando "marcado" para uma caixa de seleção com jQuery?