Checkboxarray in Verbindung mit Javascript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Checkboxarray in Verbindung mit Javascript

    Hallo,

    also ich habe folgendes Problem:

    Ich habe z.B. 30 Datensätze in einer Tabelle untereinander stehen. Vor jedem Datensatz ist eine checkbox zum auswählen des Datensatzes. Nun möchte ich aber nicht jede Checkbox einzeln auswählen, sondern habe mit einer Javascriptfunktion die Möglichkeit alle aufeinmal auszuwählen. Funktioniert auch ganz gut nur um dann die Datensätze in einer Schleife zu verarbeiten muss der name der Checkbox ja immer der selbe sein und als Array

    <input type=\"checkbox\" name=\"neu[]\">

    Hier der Aufruf der Funktion:

    <input type="button" value="alle auswählen" onClick="this.value=check(this.form.neu)">

    So jetzt meine Frage: Sobald ich den Checkboxnamen als Array deklariere funktioniert natürlich die Funktion nicht mehr da sie ja nur mit den namen "neu" arbeitet und nicht mit "neu[]".

    Hat jemand einen Tip wie ich das Problem lösen kann???

    Gruß

    Hamstah

  • #2
    mit einer schleife?
    Die Milch bleibt ranzig!

    Kommentar


    • #3
      Ich habe doch ne schleife drin. die checkboxen werden auch korrekt verarbeitet nur ich möchte die funktion "alle auswählen" weiter nutzen können, damit man nicht alle einzeln anhaken muss. nur die funktion funktioniert nicht, sobald man den namen der checkbox als array macht.

      beispiel:

      name="neu" <- so funktioniert "alle auswählen" mit javascript
      name="neu[]" <- so funktioniert "alle auswählen" nicht

      Kommentar


      • #4
        ja du musst in deiner schleife natürlich auch mit neu[] arbeiten oO
        Die Milch bleibt ranzig!

        Kommentar


        • #5
          ich glaub du hast mein problem nicht wirklich verstanden. das ist mir schon klar. so hier mal meine javascriptfunktion:

          <script type="text/javascript" language="JavaScript">
          <!-- Begin
          var checkflag = "false";
          function check(field) {
          if (checkflag == "false") {
          for (i = 0; i < field.length; i++) {
          field[i].checked = true;}
          checkflag = "true";
          return "keine auswählen"; }
          else {
          for (i = 0; i < field.length; i++) {
          field[i].checked = false; }
          checkflag = "false";
          return "alle auswählen"; }
          }
          // End -->
          </script>


          Hier der Aufruf der Funktion:

          <input class="buttonlogin2" type="button" value="alle auswählen" onClick="this.value=check(this.form.neu)">

          Ich kann die Funktion nicht aufrufen, wenn ich anstatt (this.form.neu) es richtig schreibe (this.form.neu[]). ich hoffe es war jetzt etwas deutlicher erklärt.

          Kommentar


          • #6
            Original geschrieben von RanzigeMilch
            ja du musst in deiner schleife natürlich auch mit neu[] arbeiten oO
            aber nicht mit javascript. das macht bei einem neu[] dicht. alternativ könnte man in der schleife mit so was arbeiten:
            PHP-Code:
            <input type="checkbox" name="neu_1">
            <
            input type="checkbox" name="neu_2">
            // etc. 
            anzahl in einer js-variable abspeichern und dann per schleife alles markieren


            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Zum x-ten Mal:
              http://de.selfhtml.org/javascript/ob...tm#allgemeines
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Original geschrieben von Kropff
                aber nicht mit javascript. das macht bei einem neu[] dicht.
                schwachsinn
                document.forms["name"].elements["neu[]"][zahl].checked = true;

                klappt zum beispiel wunder bar...
                Die Milch bleibt ranzig!

                Kommentar


                • #9
                  document.forms["name"].elements["neu[]"][zahl].checked = true;
                  also wenn das klappt, beiß ich mir in den hintern. habe mal ewigkeiten mit verschiedenen notationen gewerkelt und keine hat funktioniert. die oben kenne ich noch nicht.

                  gruß
                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    OffTopic:
                    lass es dir schmecken
                    Die Milch bleibt ranzig!

                    Kommentar


                    • #11
                      Guten Morgen,

                      so hier meine Lösung wie es funktioniert.

                      Javascript:

                      function checkAll(switcher) {
                      var cb = document.getElementsByTagName("input");
                      for (var i=0; i<cb.length; i++)
                      if (cb[i].type.indexOf(cb) != 1) cb[i].checked = switcher;
                      }


                      Der Aufruf der Funktion:

                      <a href="#" onClick="checkAll(true)">alle</a> <a href="#" onClick="checkAll(false)">keine</a>

                      Danke für eure Hilfe.

                      Gruß

                      Hamstah

                      Kommentar

                      Lädt...
                      X