Heim >Web-Frontend >js-Tutorial >Lösung für den Fehler bei der Kontrollkästchenauswahl in jquery_jquery
Wenn Sie jQuery 1.6 verwenden, erhält der Code if ($(elem).attr("checked")) ein Attribut, das sich nicht ändert, ob das Kontrollkästchen aktiviert oder aktiviert ist. Es wird nur zum Speichern des Anfangswerts der Standard- oder ausgewählten Eigenschaft verwendet. Um die Abwärtskompatibilität aufrechtzuerhalten, aktualisiert die Methode .attr() ab jQuery 1.6.1 zusätzlich zur Rückgabe des Attributwerts auch das Eigenschaftsattribut, sodass das boolesche Attribut seinen Wert nicht über .prop() ändern muss. Es wird empfohlen, eine der oben genannten Methoden zu verwenden, um den Wert von „checked“ zu erhalten.
Verwenden Sie die attr-Methode von jQuery, um das Attribut „aktiviert“ des Kontrollkästchens abzurufen und festzulegen. Es wurde festgestellt, dass das Auswählen/Auswählen von „Alles“ zum ersten Mal wirksam ist, und dann ist es ungültig, wenn Sie sich die HTML-Quelldatei ansehen , das Kontrollkästchenattribut wurde tatsächlich aktualisiert, aber die Seite wird nicht aktualisiert. Die richtige Methode lautet wie folgt:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script><script type="text/javascript">// <![CDATA[ $(function(){ $('.ckAll').click(function(){ $(".box-items").each(function(){ $(this).prop("checked",!!$(".box-all").prop("checked")); }); }); }); // ]]></script> <div><label class="ckAll"><input class="box-all" type="checkbox" /><span>全选</span></label> <input class="box-items" type="checkbox" /> <input class="box-items" type="checkbox" /> <input class="box-items" type="checkbox" /> <input class="box-items" type="checkbox" /> <input class="box-items" type="checkbox" /> </div>