Jan: Elemente ansprechen (adressierung)

Hallo,
Wie kann ich per Javascript mehrere Elemente ansprechen. z.b. 2 Checkboxen. Ich möchte, das beide Boxen sich durch einen Klick verändern.
Die Checkboxen sehen so aus:
<input  name='checkbox1' type='checkbox' value=''>
<input  name='checkbox1' type='checkbox' value=''>

wiso kann ich nicht direkt den Name in Javascript ansprechen. z.b. checkbox1 und dann verändern sich beide Boxen.
Bei mir verändert sich immer nur die erste der Beiden,obwohl sie ja gleich heissen. Ich möchte nicht jeder box einen anderen Namen oder Index geben, da sie dynmisch erzeugt werden, d.h. die Anzahl variiert.

  1. Hallo Jan,

    Elemente sprichst Du am besten mit Javascript/DOM an. Im SELFHTML findest du das Kapitel hier:
    http://selfhtml.teamone.de/javascript/index.htm
    http://selfhtml.teamone.de/javascript/objekte/document.htm#get_element_by_id
    http://selfhtml.teamone.de/javascript/objekte/node.htm

    Gruß,   Jürgen

  2. Hallo,
    Wie kann ich per Javascript mehrere Elemente ansprechen. z.b. 2 Checkboxen. Ich möchte, das beide Boxen sich durch einen Klick verändern.
    Die Checkboxen sehen so aus:
    <input  name='checkbox1' type='checkbox' value=''>
    <input  name='checkbox1' type='checkbox' value=''>

    wiso kann ich nicht direkt den Name in Javascript ansprechen. z.b. checkbox1 und dann verändern sich beide Boxen.
    Bei mir verändert sich immer nur die erste der Beiden,obwohl sie ja gleich heissen. Ich möchte nicht jeder box einen anderen Namen oder Index geben, da sie dynmisch erzeugt werden, d.h. die Anzahl variiert.

    Moin,

    versuch es doch mal mit getElementsByName, da kannst Du den Array mit einer
    Schleife solange bearbeiten, bis kein Element mehr da ist.

    Andererseits sollte es doch gerade bei dynamisch erzeugten Elementen
    nicht so schwer sein, eine aufsteigende zahl mit einzubauen, die Du dann
    ebenfalls in einer schleife durchackerst.

    Ich hoffe, ein bißchen geholfen zu haben

    Tschö,

    Nep

  3. Hallo,

    Wie kann ich per Javascript mehrere Elemente ansprechen. z.b. 2 Checkboxen. Ich möchte, das beide Boxen sich durch einen Klick verändern.
    Die Checkboxen sehen so aus:
    <input  name='checkbox1' type='checkbox' value=''>
    <input  name='checkbox1' type='checkbox' value=''>

    wiso kann ich nicht direkt den Name in Javascript ansprechen. z.b. checkbox1 und dann verändern sich beide Boxen.
    Bei mir verändert sich immer nur die erste der Beiden,obwohl sie ja gleich heissen. Ich möchte nicht jeder box einen anderen Namen oder Index geben, da sie dynmisch erzeugt werden, d.h. die Anzahl variiert.

    Du suchst wohl eher Radio-Buttons, die genau dieses Verhalten aufweisen. Check-Boxen sind eigentlich Optionsfelder, sind also unabhaengig voneinander waehlbar.

    Mit etwas JS kann man das zwar umbiegen, aber ueberlege gut, ob das den Erfahrungen der Nutzer entspricht bzw. ob es wirklich noetig ist und statt dessen Radio-Buttons ausreichen (immer auch an Browser ohne JS denken!):

    <input  name='checkbox1' type='checkbox' value='' onclick="this.form.elements['checkbox1'][1].checked=!this.form.elements['checkbox1'][0].checked">
    <input  name='checkbox1' type='checkbox' value='' onclick="this.form.elements['checkbox1'][0].checked=!this.form.elements['checkbox1'][1].checked">

    MfG, Thomas