gleichnamige checkboxen -> alle ansprechen

Zatic

Erfahrenes Mitglied
Hallo!

ich habe eine reihe checkboxen, allerdings werden die dynamisch generiert, und es sind bei jedem aufruf verschieden viele.
Alle haben das Attribut name="delids[]", das kann nicht geändert werden.

Nun will ich eine Checkbox einfügen, die eine "check/unckeck all" funktion hat, wenn ihr mir folgen könnt. Wenn man die eben ankreuzt, sollen sämtliche checkboxen angekreuzt werden.

Ich habe folgendes versucht:

function checkAll(is_checked) {
document.pninbox.delids[].checked = is_checked;
}

und dann in dem Formular, das name="pninbox" trägt:

<input type="checkbox" name="checkall" onChange="checkAll(this.checked);">

Das klappt natürlich nicht, und ich vermute deshalb, weil die checkboxen schon den namen eines Arrays mit fehlendem Index tragen. Allerdings kann der name nicht verändert werden, der wird zur auswertung des Formulars benötigt.

Kann mir da jemand helfen?
 
ist es das, was du brauchst?
Code:
<HTML>
<HEAD>
<TITLE>Vertikal Text</TITLE>
<script type="text/javascript">
<!--
function checkAll(is_checked) {
  for (i=0;i<document.getElementsByName("delids[]").length;i++) {
    document.getElementsByName("delids[]")[i].checked = is_checked;
  }
}
//-->
</script>
</HEAD>
<BODY>
<input type="checkbox" name="checkall" onClick="checkAll(this.checked);">asf<br>
<input type="checkbox" name="delids" value="hallo" checked>asdf<br>
<input type="checkbox" name="delids" value"lol">safd<br>
</BODY>
</HTML>
Wenn ja, dann bitte ;-)
 
Warum wird hier auch so unsauber gearbeitet - eckige Klammern gehören nicht in das name-Attribut von Dokumentelementen...

Ist es denn so schwer, das Script zur Formularauswertung so anzupassen, dass das ganze auch ohne die eckigen Klammern läuft?

Geist
 
hi .. sorry , dass ich so einen alten thrad wieder ausgrabe!
aber genau das was dergugi geschrieben hat hat mein problem ansatzweise gelöst!

also mit der checkbox, die man drücken muss geht das jetzt auch mit arrays als checkboxnamen bei mir .
aber ist es möglich diese funktion so zu erweitern, dass man einen button hat, den man drücken kann und diesem button dann dynamisch den wert "alle markieren" und "alle demarkieren" zuweisen kann?

da ich im bereich javascript keine ahnung habe wäre es nett, wenn ihr mir helfen könntet ;)
vielen dank schon mal im vorraus

mfg
H0MER
 

Neue Beiträge

Zurück