Ich habe eine andere HTML-Struktur zu anderen Fragen, die auf SO ähnlich sind. Ich möchte das Eltern-Kontrollkästchen aktivieren, wenn alle untergeordneten Kontrollkästchen aktiviert sind. Ich habe eine JSFiddle, wo ich meinen ziemlich langen HTML-Code hinzugefügt habe. Was mache ich falsch in der JQuery? Das ist mein jquery:Wie überprüften Eltern, wenn alle untergeordneten Kontrollkästchen aktiviert sind
$('li :checkbox').on('click', function() {
var $chk = $(this),
$container = $chk.closest('td,li');
if (!$container.hasClass('list-group-item')) {
$container.find(':checkbox').not(this).prop('checked', this.checked)
}
do{
$ul = $container.parent();
$parent = $ul.siblings(':checkbox');
if($chk.is(':checked')){
$parent.prop('checked', $ul.has(':checkbox:not(:checked)').length == 0)
} else {
$parent.prop('checked', false)
}
$chk = $parent;
$container = $chk.closest('td,li');
} while($ul.is(':not(.someclass)'));
});
PS: Die Eltern/Kind-Beziehung in der unteren Hälfte der HTML-Struktur nicht gut funktionieren Coz einiger unclosed Tags. Aber die ersten paar Eltern/Kinder arbeiten
In deiner Geige, was ich will, passiert nicht. In dem Code, den ich habe (überprüfen Sie auch die Geige), wenn ein Elternteil überprüft wird, werden die Kinder auch überprüft. Das ist gut. Ich möchte das Eltern überprüfen, wenn alle Kinder überprüft werden –
@YohanBlake überprüfen Sie bitte das Update. – Script47
kein Kumpel, nicht was ich will. Ich möchte die Eltern überprüfen, wenn alle Kinder überprüft werden. Zum Beispiel ist ONE der Elternteil (ul). ZWEI und DREI (Listen) sind die Kinder. Wenn also TWO und THREE markiert sind, sollte ONE überprüft werden. Ich bin nah dran, aber ich kann es nicht funktionieren. Das ist, woran ich jetzt arbeite https://jsfiddle.net/YohanBlake/vwnahjj/ –