wie löscht man opgroup mit js?

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

  • wie löscht man opgroup mit js?

    Hallo zusammen,

    ich versuche mich grad daran eine Selectbox mittels ajaxrequest zu befüllen
    PHP-Code:
    new Ajax.Request('ajax/getChannelList.php', {   
            
    method'post',
            
    parameters: {managerselection.options[selection.selectedIndex].value},
            
    onSuccess: function(transport) {
                var list = 
    document.getElementById('EPGchannel');
                list.
    appendChild(document.createElement('option'));
                var 
    text transport.responseText;
                list.
    options.length 0;
                
                        
                var 
    optgroups text.split('#');
                for(
    1optgroups.lengthi+=2) {
                    var 
    optgroup document.createElement('optgroup');
                    
    optgroup.setAttribute('label'optgroups[i]);
                    var 
    options optgroups[1].split('|');
                    for(
    1options.lengthj++) {
                        var 
    value options[j].split('=>');
                        var 
    optiontag document.createElement('option');
                        
    optiontag.setAttribute('value'value[0]);
                        
    optiontag.appendChild(document.createTextNode(value[1]));
                        
    optgroup.appendChild(optiontag);
                    }
                    list.
    appendChild(optgroup);
                }
            }
            });   

    jetzt wird in dem Selectfeld aber auch opgroups angelegt von denen ich nicht weiß wie ich die wieder aus meiner Selectbox löschen kann. Das löschen der einzelnen options mittels list.options.length = 0; funktioniert bestens, aber wie lösch ich die opgroups?

    Gruß Krel

  • #2
    evtl. mit list.optgroup.length = 0
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      das hatte ich auch schon getestet, aber dann wird nichts mehr in dem select angezeigt

      Kommentar


      • #4
        ist ja auch klar, weil die optgroups die options beinhalten.
        Was willst du eigentlich tun? kann man das evtl. mal sehen, damit man es verstehen kann?
        it's not a bug,
        it's a feature!

        Kommentar


        • #5
          das ganze soll eine auswahl von Sendern sein, einmal sollen nur die Favoriten angezeigt werden und das andere mal halt alle Sender, die Sender sind in Kategorien und die Favoriten in Gruppen eingeteilt, daher benutz ich optgroups. Oben gezeigtes Skriptstück führt einen Ajaxrequest aus und bekommt einen String zurück, der zerteilt wird und das select füllt.
          das heißt, wenn die Funktion aufgerufen wird, sollen alle Einträge aus dem Select genommen werden und danach die neuen erzeugt werden.
          so sieht der bspw der String aus der zurückgeliefert wird
          #DVB-T#|10=>Das Erste|13=>ZDF|0=>NDR Fernsehen|4=>WDR Fernsehen|
          5=>MDR FERNSEHEN|6=>hr-fernsehen|7=>arte|8=>Phoenix|9=>Ein************tra|14=>3sat|15=>Doku/KiKa|16=>ZDFinfokanal
          (natürlich ohne Zeilenumbruch)
          der Teil des HTML-Formulars
          PHP-Code:
          <select name="channelmanager" onchange="javascript:setChannelList(this);" width="50">
           <
          option value="FavoritesManager">Favoriten</option>
           <
          option value="ChannelManager">Sender</option>
          </
          select>
          <
          select name="channel" id="EPGchannel" onchange="javascript:getEPG(this);">
          </
          select
          setChannelList ist die oben aufgeführte Funktion

          Kommentar


          • #6
            PHP-Code:
            num form.select.getElementsByTagName("optgroup").length;
            for (
            0numi++)
            {
              
            optgroup =  form.select.getElementsByTagName("optgroup")[0];
              
            form.select.removeChild(optgroup);

            so in der art.

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

            Kommentar


            • #7
              das wäre auch ne Idee. Habs mittlerweile anders gelöst.ist zwar recht quick and dirty aber es funzt
              PHP-Code:
              list.innerHTML ""

              Kommentar


              • #8
                OffTopic:
                innerHTML? schäm dich!


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

                Kommentar


                • #9
                  wenn du es so machen willst, dass es bei allen Browsern funktioniert musst du es auf Kropfs AuW machen. Bei innerHTML gibt es einige Browser, die dies nicht ertragen.

                  Kommentar


                  • #10
                    bei innerHTML gibt es imho keine probleme. innerText ist das sorgenkind.

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

                    Kommentar


                    • #11
                      Original geschrieben von Kropff
                      OffTopic:
                      innerHTML? schäm dich!


                      peter
                      OffTopic:

                      ich sag ja quick and dirty

                      Kommentar

                      Lädt...
                      X