Checkboxen per klick alle selektieren/deselektieren!?
Hendrik
- javascript
0 Gernot Back
0 rfb
Hey!
Ich habe mir ein Javascript-Script (haha, wie dumm) geschrieben, welches alle Checkboxen mit dem gleichen Namen selektiert bzw. deselektiert (dieses Script funktioniert auch, falls man nicht erlauben in erlauben[] umbenennt):
<script type="text/javascript">
function checkbox_wechsel() { /*Diese Funktion wird über eine weitere Checkbox (onclick) mit dem Namen wechsel_checkbox aufgerufen*/
if (document.hochladeformular.wechsel_checkbox.checked == true) {
for (var i = 0; i < document.hochladeformular.erlauben.length; i++) {
document.hochladeformular.erlauben[i].checked = true;
}
}
else {
for (var i = 0; i < document.hochladeformular.erlauben.length; i++) {
document.hochladeformular.erlauben[i].checked = false;
}
}
}
</script>
Und natürlich das dazugehörige Formular:
<form action="<?=$_SERVER['PHP_SELF']?>" method="post" name="hochladeformular" enctype="multipart/form-data">
<input type="checkbox" name="erlauben" id="erlauben<?=$i?>" value="<?=$danach?>"> <label for="erlauben<?=$i?>"><?=$danach?></label><br><!--Hier natürlich mit einer Schleife Variablenwerte ausgelesen-->
</form>
Nun habe ich aber folgendes Problem: Ich möchte die Checkboxen komfortabel auswerten. Dazu benenne ich die Checkbox-Gruppe von erlauben in erlauben[] um. Nun funktioniert das ganze Javascript-Script natürlich nicht mehr. Aber den richtigen Namen kann ich nun auch nicht oben hinschreiben, also sowas wie:
<script type="text/javascript">
for (var i = 0; i < document.hochladeformular.erlauben[].length; i++) {
document.hochladeformular.erlauben[][i].checked = true;
}
</script>
Das geht leider nicht. Was soll ich machen? Wisst ihr eine Lösung für dieses Problem?
Hendrik
Hallo Hendrik,
du könntest mal versuchen, all deine Checkboxen mit dem komischen Klammernamen wie folgt anzusprechen:
document.hochladeformular['erlauben[]'][i]
Ob das funktioniert, habe ich aber nicht ausprobiert.
Gruß Gernot
Moin
versuch mal:
var x=document.getElementsByName("erlauben[]");
...
for (var i = 0; i < x.length; i++) {
x[i].checked = true;
}
else
for (var i = 0; i < x.length; i++) {
x[i].checked = false;
}
...
Gruß
rfb