wie löscht man opgroup mit js?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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!

    Comment


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

      Comment


      • #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!

        Comment


        • #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

          Comment


          • #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

            Comment


            • #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 ""

              Comment


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


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

                Comment


                • #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.

                  Comment


                  • #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

                    Comment


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


                      peter
                      OffTopic:

                      ich sag ja quick and dirty

                      Comment

                      Working...
                      X