Javascript ist Toll!

FAQ > Javascript

24. August 2005 - 12:24

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:

box 1
box 2
box 3
box 4
box 5

Alle

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.

4 Kommentare Einen Kommentar hinterlassen »

Kommentare

1. Kommentar von mr. a
Dienstag 12.Mai 2009: 15:33

besser gehts garnicht! vielen dank!

2. Kommentar von JochenSan
Montag 12.April 2010: 19:00

Deine Seite war mir eine große Hilfe! Dafür vielen Dank!

3. Kommentar von zap
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...

4. Kommentar von Struppi
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

Name (erforderlich)
Mail (wird nicht angezeigt) (erforderlich)
Website

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Powered by WordPress Stop Spam Harvesters, Join Project Honey Pot
rats-wonderful
rats-wonderful
rats-wonderful
rats-wonderful Browser-Statistiken