Ergebnis 1 bis 4 von 4
  1. #1
    nime ist offline Grünschnabel
    registriert
    20-08-2006
    Beiträge
    4

    Options in einer ListBox bewegen

    Hallo zusammen

    Options in einer ListBox funktioniert problemlos, dazu verwende ich folgender Code:

    Code:
    function moveItem(listboxid,i){
      var b,o=document.getElementById(listboxid),p,q;
      if(i==0 && o.selectedIndex > 0){
        p = o.options[o.selectedIndex];
        q = o.options[o.selectedIndex - 1]
        o.removeChild(p);
        o.insertBefore(p,q);
      }
      if(i==1 && o.selectedIndex < o.options.length-1){
        b = o.selectedIndex < o.options.length - 2;
        p = o.options[o.selectedIndex];
        if(b) q = o.options[o.selectedIndex + 2]
        o.removeChild(p);
        if(b) o.insertBefore(p,q); else o.appendChild(p);
      }
    }
    Jetzt habe ich aber zusätzlich "optgroup" tags. Leider funktioniert das mit dem verschieben überhaupt nicht mehr.

    Freue mich über eure Antworten, Anregungen.

    Lg

  2. #2
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.640

    AW: Options in einer ListBox bewegen

    willst du die optgroups verschieben? wo genau liegt dein problem?

  3. #3
    nime ist offline Grünschnabel
    registriert
    20-08-2006
    Beiträge
    4

    AW: Options in einer ListBox bewegen

    Zitat Zitat von hesst Beitrag anzeigen
    willst du die optgroups verschieben? wo genau liegt dein problem?
    Hi!

    Vielen Dank für deine rasche Antwort!

    Ne, also ich möchte nicht die optgroups verschieben. Die sollen bleiben.
    Ich möchte die Options verschieben.

    Es sieht so aus:
    optgroup: Kategorie1:
    option: -wert1
    option: -wert2
    option: -wert3
    optgroup: Kategorie2:
    option: -wert4
    option: -wert5
    optgroup: Kategorie3:
    option: -wert6
    option: -wert7
    option: -wert8
    option: -wert9

    Jetzt möchte ich einfach die Options verschieben können.

    Lg
    Geändert von nime (06-01-2009 um 20:07 Uhr) Grund: Beispiel hinzugefügt

  4. #4
    tsseh ist offline Foren-Gott
    registriert
    19-05-2008
    Beiträge
    5.640

    AW: Options in einer ListBox bewegen

    Zitat Zitat von nime Beitrag anzeigen
    Jetzt möchte ich einfach die Options verschieben können.
    dann ist dein parentElement das falsche beim entfernen und wieder einfügen. das ist nicht das select, sondern das optgroup-element.

    Code:
    function moveItem(listboxid,i){
      var b,o=document.getElementById(listboxid),p,q;
      if(i==0 && o.selectedIndex > 0){
        p = o.options[o.selectedIndex];
        q = o.options[o.selectedIndex - 1]
        p.parentElement.removeChild(p);
        q.parentElement.insertBefore(p,q);
      }
      if(i==1 && o.selectedIndex < o.options.length-1){
        b = o.selectedIndex < o.options.length - 2;
        p = o.options[o.selectedIndex];
        if(b) q = o.options[o.selectedIndex + 2]
          p.parentElement.removeChild(p);
        if(b) q.parentElement.insertBefore(p,q); else q.parentElement.appendChild(p);
      }
    }
    edit: ich sehe gerade, daß der else-zweig ist noch falsch ist. aber jetzt dürfte klar sein, was zu machen ist.
    Geändert von tsseh (06-01-2009 um 20:49 Uhr)

Ähnliche Themen

  1. Listbox Problem mit IE
    Von Quadral im Forum JavaScript
    Antworten: 0
    Letzter Beitrag: 23-06-2008, 08:43
  2. Listbox focus abfragen?!
    Von Nils1983 im Forum JavaScript
    Antworten: 11
    Letzter Beitrag: 17-02-2008, 23:43
  3. Auf Werte einer Listbox nach submit zugreifen
    Von Sillium im Forum Serverseitige Programmierung
    Antworten: 1
    Letzter Beitrag: 10-02-2008, 22:46
  4. Mit Button Werte in eine Listbox schreiben
    Von mruniversum im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 21-02-2007, 16:52
  5. Nach klick in Listbox Textfekder füllen?
    Von SEF im Forum JavaScript
    Antworten: 4
    Letzter Beitrag: 29-06-2005, 13:31

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •