Checkboxen auf einmal markieren
Es sollen mit Hilfe einer Checkbox, alle Checkboxen einer bestimmten Gruppe auf einmal markiert werden.
Das Formular
Das Formular dazu sieht so aus:
Ich verwende für die Checkboxen Namen, die in PHP üblich sind um Elemente als Array abzufragen.
Der HTML Quellcode:
html
<form action="#"> |
<p><input type="checkbox" name="loeschen[]"> box 1<br> |
<input type="checkbox" name="loeschen[]"> box 2<br> |
<input type="checkbox" name="loeschen[]"> box 3<br> |
<input type="checkbox" name="loeschen[]"> box 4<br> |
<input type="checkbox" name="loeschen[]"> box 5<br> |
<p> |
<input onclick="check_all('loeschen[]', this)" type="checkbox"> Alle
|
</form> |
JS Quellcode
Der Quellcode ist relativ simpel:
javascript
function check_all(name, el){ |
if(!el || !el.form) return alert('falscher Parameter'); |
var box = el.form.elements[name]; |
if(!box) return alert(name + ' existiert nicht!'); |
for(var i = 0; i < box.length; i++) box[i].checked = el.checked; |
} |
Comments (4)
1615 mal gelesen.
1615 mal gelesen.


4 Kommentare Einen Kommentar hinterlassen »
Kommentare
Dienstag 12.Mai 2009: 15:33
besser gehts garnicht! vielen dank!
Montag 12.April 2010: 19:00
Deine Seite war mir eine große Hilfe! Dafür vielen Dank!
Donnerstag 22.April 2010: 15:04
jquery ftw:
$('input[name=loeschen[]]').attr( 'checked','checked' );
einfacher (schneller) geht der zugriff über class oder id, aber der attribut-selektor funzt genauso.
ähnliche thematik für das auslesen von radiobuttons:
$('input[name=test]:checked').val();
mit "herkömmlichem" JS müsste man erst die elemente raussuchen und dann mit einer schleife bis zum gecheckten drüber laufen...
Donnerstag 22.April 2010: 16:20
Schon klar das der Code mit jquery kürzer aussieht.
Aber jquery wird im Endeffekt nichts anderes machen als: "erst elemente raussuchen und dann mit einer schleife bis zum gecheckten drüber laufen..."
Einen Kommentar hinterlassen