In diesem Artikel wird das Problem der Checkbox-Auswahl anhand von jQuery anhand eines Beispiels analysiert. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Ich bin kürzlich bei der Entwicklung eines Projekts auf ein sehr seltsames Problem gestoßen, nämlich die Auswahl aller oder nicht aller Kontrollkästchen
Verwendung des jQuery-Frameworks. Ich habe immer
//检测选中的checkbox $('input[name="abc"]:checked').each(function(){})
verwendet. Wenn ich jedoch feststelle, dass ich alles auswählen muss, verwende ich
$('input[name="abc"]').attr('checked',true); $('input[name="abc"]').attr('checked',false);
funktioniert, wenn es zum ersten Mal geladen wird, wird es nur angezeigt
Aber wenn ich darauf klicke und den Quellcode ansehe, wurde das überprüfte Attribut hinzugefügt
Ich bin verwirrt. Und schließlich stellte sich heraus, dass das attr-Attribut für „checked“ den Dom-Stil nicht ändert, sondern nur seinen Attributwert, wie folgt:
$('input[name="abc"]').prop('checked',true); $('input[name="abc"]').prop('checked',false);
Wenn jedoch nicht alle ausgewählt sind, kann ich nicht erkennen, welches Element angeklickt wird, und dann mache ich viel Aufhebens um den Namen
$('input[name="abc[]:checked"').each(function(i){}); //或者 $('input[name="abc[]"').each(function(i){ var flag = $(this).prop('checked'); if(flag){ //$(this) 即为选中元素 } })
Problem gelöst.