J'ai un script qui est supposé sélectionner toutes les cases à cocher des entrées descendantes, lorsque la case ancêtre est cochée.Pourquoi attr() ne met-il pas à jour le code HTML lorsqu'il est appelé une seconde fois?
Voir ici: http://jsfiddle.net/zJPfR/
Lorsque la case de niveau supérieur est sélectionné, toutes les cases ci-dessous sont sélectionnés. Si vous désélectionnez la case, les vérifications sont supprimées. Cependant, si vous essayez de le faire une seconde fois, cela ne fonctionne pas.
Si je m'y prends mal, veuillez me le faire savoir.
Darius
$('.poSelect').click(function() {
var expandBox = $(this).parents('.pohelpTbl').next('.expandBox');
var receipts = expandBox.find('input[type="checkbox"]');
if ($(this).is(':checked')) {
var status = true;
} else {
var status = false;
}
$(receipts).each(function (i) {
var cb = $(this);
cb.attr("checked",status);
});
});
Vous n'avez pas besoin 'if' /' 'else' ou each()'; il suffit d'utiliser: ['receipts.prop ('checked', this.checked);'] (http://jsfiddle.net/davidThomas/zJPfR/5/) –
Compris! Je me demande pourquoi j'ai été abattu ... – Darius