Markus: selektiv alle oder mehrere Buttons aktivieren

Hallo zusammen,

dieses Thema wurde in vielen Formen schon zig-Mal behandelt, alles Suchen brachte mich aber in Bezug auf meine Problemstellung leider nicht weiter.

Es geht um folgendes:

Ich habe ein Formular mit vielen checkboxen, die mittels PHP aus einer Datenbank generiert werden.

HTML-Ausgabe: (ein Ausschnitt)
<input type='checkbox' name='Herren 1' value='16'> Herren 1 <br>
<input type='checkbox' name='Herren 2' value='17'> Herren 2 <br>

<input type='checkbox' name='Damen 1' value='19'> Damen 1 <br>
<input type='checkbox' name='Damen 2' value='20'> Damen 2 <br>

<input type='checkbox' name='Jugend 1' value='22'> Jugend 1 <br>
<input type='checkbox' name='Jugend 2' value='23'> Jugend 2 <br>

Oben drüber habe ich 4 Checkboxen:

Alle auswählen, Herren auswählen, Damen auswählen, Jugend auswählen.

Ich bekomme es einfach nicht hin, da alle Beispielscripte davon ausgehen, dass ich das name-Attribut frei vergeben kann. Das geht aber ja nicht.
Sinnvoll wäre ein Ansatz über eine Variable, der ich sage: alle name-Attribute mit "Herren" auswählen oder alle mit "Herren, Damen, Jugend".

Aber das bekomme ich nicht hin.

Hat mir jemand einen Tipp in die richtige Richtung?

Gruß
Markus

  1. Hallo Markus,

    Sinnvoll wäre ein Ansatz über eine Variable, der ich sage: alle name-Attribute mit "Herren" auswählen oder alle mit "Herren, Damen, Jugend".

    schau Dir doch einmal http://de.selfhtml.org/javascript/objekte/string.htm#index_of an. Damit bekommst Du das hin.

    So long,
    Mr. Horse

    --
    No, Sir, I don't like it.
  2. Hello out there!

    <input type='checkbox' name='Herren 1' value='16'> Herren 1 <br>

    Die Leerzeichen in den 'name's sind ganz sicher keine gute Idee. Ändere die Namen in 'Herren1' etc.

    Die Beschriftungen "Herren 1" etc. solltest du unbedingt als Label  machen.

    Oben drüber habe ich 4 Checkboxen:
    Alle auswählen, Herren auswählen, Damen auswählen, Jugend auswählen.

    Das könnten auch eher Buttons sein.

    Ich bekomme es einfach nicht hin, da alle Beispielscripte davon ausgehen, dass ich das name-Attribut frei vergeben kann. Das geht aber ja nicht.

    ?? Warum nicht. Außerdem sollte es gehen; s.o.

    Sinnvoll wäre ein Ansatz über eine Variable, der ich sage: alle name-Attribute mit "Herren" auswählen oder alle mit "Herren, Damen, Jugend".

    Wie viele sind "alle"? Und ist deren Anzahl veränderlich?

    Aber das bekomme ich nicht hin.

    Wie sieht dein bisheriger Versuch aus?

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Hello out there!

      <input type='checkbox' name='Herren 1' value='16'> Herren 1 <br>

      Die Leerzeichen in den 'name's sind ganz sicher keine gute Idee. Ändere die Namen in 'Herren1' etc.

      Die Beschriftungen "Herren 1" etc. solltest du unbedingt als Label  machen.

      Hab ich gemacht. Die HTML-Ausgabe lautet nun:

      <input type='checkbox' name='Damen_1' value='1' id='Damen_1'><label for='Damen_1'> Damen 1 </label><br>
      <input type='checkbox' name='Damen_2' value='2' id='Damen_2'><label for='Damen_2'> Damen 2 </label><br>
      <input type='checkbox' name='Damen_3' value='3' id='Damen_3'><label for='Damen_3'> Damen 3 </label><br>
      <input type='checkbox' name='Herren_1' value='4' id='Herren_1'><label for='Herren_1'> Herren 1 </label><br>
      <input type='checkbox' name='Herren_2' value='5' id='Herren_2'><label for='Herren_2'> Herren 2 </label><br>
      <input type='checkbox' name='Herren_3' value='6' id='Herren_3'><label for='Herren_3'> Herren 3 </label><br>
      <input type='checkbox' name='A-Jugend_w.' value='7' id='A-Jugend_w.'><label for='A-Jugend_w.'> A-Jugend w. </label><br>
      <input type='checkbox' name='B-Jugend_w.' value='8' id='B-Jugend_w.'><label for='B-Jugend_w.'> B-Jugend w. </label><br>
      <input type='checkbox' name='C-Jugend_w.' value='9' id='C-Jugend_w.'><label for='C-Jugend_w.'> C-Jugend w. </label><br>
      <input type='checkbox' name='D-Jugend_w.' value='10' id='D-Jugend_w.'><label for='D-Jugend_w.'> D-Jugend w. </label><br>
      <input type='checkbox' name='Mixed_1' value='11' id='Mixed_1'><label for='Mixed_1'> Mixed 1 </label><br>
      <input type='checkbox' name='Mixed_2' value='12' id='Mixed_2'><label for='Mixed_2'> Mixed 2 </label><br>

      Oben drüber habe ich 4 Checkboxen:
      Alle auswählen, Herren auswählen, Damen auswählen, Jugend auswählen.

      Das könnten auch eher Buttons sein.

      Eigentlich wollte ich letztendlich erreichen, dass man "alle" anklickt und dann alle checkboxen "checked" werden aber "disabled".
      Macht aber keinen Sinn, da man dann nicht einzelne abwählen kann.
      Buttons würde ich gerne auf Grund der Übersichtlichkeit an dieser Stelle vermeiden. Geht das nicht mit checkboxen?

      Ich bekomme es einfach nicht hin, da alle Beispielscripte davon ausgehen, dass ich das name-Attribut frei vergeben kann. Das geht aber ja nicht.

      ?? Warum nicht. Außerdem sollte es gehen; s.o.

      Jede Checkbox steht für einen Eintrag aus der Tabelle "Teams" der Datenbank. Deshalb kann ich da nicht im speziellen drauf zugreifen, hab jetzt aber erreicht, dass eben kein Leerzeichen mehr drinsteht, sondern ein Unterstricht.

      Sinnvoll wäre ein Ansatz über eine Variable, der ich sage: alle name-Attribute mit "Herren" auswählen oder alle mit "Herren, Damen, Jugend".

      Wie viele sind "alle"? Und ist deren Anzahl veränderlich?

      "Alle" kann sich natürlich ändern. Ds ist davon abhängig wieviele bei "Damen", "Herren" etc in der Datenbank eingetragen sind.

      Es müsste also

      Aber das bekomme ich nicht hin.

      Wie sieht dein bisheriger Versuch aus?

      Mein Versuch:
      <head>
      <script>

      function ankreuzen(i)
      {
      hilfe1=eval("document.forms[0].Herren_"+i+"1");
       if (hilfe1[0].checked==false){
        for (j=0;j<hilfe1.length;j++){
         hilfe1[j].checked=1}}
       else{
        for (j=0;j<hilfe1.length;j++){
         hilfe1[j].checked=false}}

      }
      </script>
      </head>
      <body>
      <input type='checkbox' name="Herren" id="Herren" onclick="ankreuzen(herren)"><label for="Herren"> Herren</label><br>
      <input type='checkbox' name="Damen" id="Damen" onclick="ankreuzen(damen)"><label for="Damen"> Damen</label><br>
      <input type='checkbox' name="Jugend" id="Jugend" onclick="ankreuzen(jugend)"><label for="Jugend"> Jugend</label><br>
      ...

      Danke für die Hilfe

      Markus