der_neue
Mitglied
Registriert: 24.11.2009
Beiträge: 3
|
|
Hallo!
Ich habe folgendes Problem:
Ich möchte eine bestimmte Anzahl von Checkboxen dynamisch über eine FOR - Schleife erstellen. --> Funktioniert Weiters habe ich den Namen jeder Checkbox über ein Array beschrieben. --> funktioniert
Code:
myArray[0] = "a"; myArray[1] = "b"; myArray[2] = "c";
for (i= 0; i < myArray.length; i++) { document.write("<input type=" + chkbox + " name=" + myArray[i] + " checked>" + myArray[i] + "<br>"); }
Leider handelt es sich bei mir um ca. 60 Checkboxen. Daher wollte ich mir eine option bauen, die sämtliche Checkboxen setzt oder rücksetzt. Hierfür kamen 2 weitere Checkboxen zur anwendung.
document.writeln("<form action=" + URL + " id=" + myform + ">"); document.writeln('<input name = "chkall" type = "checkbox" onclick = "cboxListOn()" value="Check all">Check all<br>'); document.writeln('<input name = "unchk" type = "checkbox" onclick = "cboxListOff()" value="Uncheck all">Uncheck all<br>'); document.writeln('<input type="submit" value="Submit">'); document.writeln("</form>");
bei onclick soltlen nun foglende funktionen ausgeführt werden:
function cboxListOn() { for (a= 0; a < myArray.length; a++) { alert(a); var colors = document.forms[myform].myArray[a]; if (document.forms[myform].chkall.checked == true) { document.forms[myform].unchk.checked = false; for ( i = 0; i < colors.length; i++ ) { colors[i].checked = true; } } } }
function cboxListOff() { for (a = 0; a < myArray.length; a++) { alert(myArray[a]); var colors = document.forms[myform].myArray[a]; if (document.forms[myform].unchk.checked == true) { document.forms[myform].chkall.checked = false; for ( i = 0; i < colors.length; i++ ) { colors[i].checked = false; } } } }
Leider bekomme ich (alert(myArray[a]) nur den ersten Wert des arrays zurück. In der 2. Zeile dürfte sich ein Fehler eingeschlichen haben. Trotz suche finde ich leider nicht den richtigen Lösungsansatz.
Ich weiß, dass sich die Form eigentlich auf die Checkboxen beziehen muss, aber ich weiß nicht wie dies zu realisieren ist.
Kann mir bitte jemnad helfen?
mfg
|
|
| 24.11.2009 15:11:19 |
|
der_neue
Mitglied
Registriert: 24.11.2009
Beiträge: 3
|
|
|
| 26.11.2009 12:49:31 |
|