nobswolf: in select-option display auf none im IE

Ich will so was ähnliches wie das hier:
 http://forum.de.selfhtml.org/archiv/2009/7/t189344/#m1261456

Aber das ist halt schon im Archiv.

sl.options[x].style.setAttribute('display', 'none', false);

funktioniert im Firefox ganz wunderbar. 'sl' ist das Element des umschließenden select und mit 'x' wird über die Länge iteriert.

Der IE7 akzeptiert das zwar syntaktisch, tut aber einfach nichts.

In anderen Foren hab ich schon gelesen, dass es da ein Problem gibt, aber egal welchen Hinweis ich verfolge (mit setAttribute oder direkt über DOM oder mit dem Style-Array) immer funktioniert es mit FF und mit IE nicht.

Hat wer eine Lösung die auch mit dem IE7 tut?

Workaround wäre alles umschreiben und die Select-Option komplett neu füllen, aber das würde ich gern vermeiden, wenn es für "display=none" eine funktionierende Syntax gibt.

  1. @@nobswolf:

    nuqneH

    Ich will so was ähnliches wie das hier:
    http://forum.de.selfhtml.org/archiv/2009/7/t189344/#m1261456

    Verweise einbinden!

    Aber das ist halt schon im Archiv.

    Schade eigentlich, denn dort fehlt der Hinweis, dass eine ID dokumentweit eindeutig sein muss.

    sl.options[x].style.setAttribute('display', 'none', false);

    funktioniert im Firefox ganz wunderbar.

    ?? In welcher Version sollte das funktionieren?

    Und willst du wirklich die Auswahloption nicht anzeigen oder lediglich ausgrauen (@disabled)?

    Qapla'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
    1. In welcher Version sollte das funktionieren?

      Ich komme gerade nicht an den Source; ich dampfe bei nächster Gelegenheit mal ein Beispiel zusammen.

      Fakt ist: im FF3 funktioniert das vollständige Verbergen einer Option über Javascript mit display="none" und im IE7 funktioniert es nicht.

      Und willst du wirklich die Auswahloption nicht anzeigen oder lediglich ausgrauen (@disabled)?

      Disable habe ich ehrlich gesagt noch nicht versucht; das wäre vielleicht noch eine Lösung. Schon mal Danke für die Idee.

      1. @@nobswolf:

        nuqneH

        Fakt ist: im FF3 funktioniert das vollständige Verbergen einer Option über Javascript mit display="none"

        aber wohl nicht mit dem Code sl.options[x].style.setAttribute('display', 'none', false);

        Disable habe ich ehrlich gesagt noch nicht versucht; das wäre vielleicht noch eine Lösung. Schon mal Danke für die Idee.

        Per Attribut setzen funktioniert es im IE auch nicht. Aber möglich, dass er eine Eigenschaft dafür kennt, die man auf true oder false setzen muss.

        Qapla'

        --
        Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
        1. aber wohl nicht mit dem Code

          hast recht, da bin ich wohl beim Testen durcheinander gekommen.

          ich habe nun aufgegeben; ich speichere die Daten nun in einer Datenstruktur und fülle das select jedesmal komplett neu

          1. @@nobswolf:

            nuqneH

            ich habe nun aufgegeben

            Warum?

            Lass mich das für dich googeln!

            Vielleicht kannst du mit Activating option disabled in IE was anfangen.

            Qapla'

            --
            Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
            1. Lass mich das für dich googeln!]

              Googlen kann ich schon... aber das sind halt finstere Hacks und keine Lösungen. Da wird in JS das Verhalten des Browsers nachprogrammiert.

              Andere Artikel empfehlen als Lösung das Aufbauen der Optionen aus einer Datenstruktur. Das erscheint mir erheblich geradliniger und wartbarer als eine Browser-Unterscheidung.

              Ich theoretisiere gerne mal über verschiedene Lösungsansätze, aber dieses Thema ist für mich abgeschlossen. Danke für Deine Bemühungen.

  2. Hi,

    Hat wer eine Lösung die auch mit dem IE7 tut?

    Wahrscheinlich gibt es die mit display:none nicht - die MSDN führt in ihrer Beschreibung der display-Eigenschaft vermutlich mit eben diesem Grund OPTION nicht unter "Applies To" auf.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
  3. In anderen Foren hab ich schon gelesen, dass es da ein Problem gibt, aber egal welchen Hinweis ich verfolge (mit setAttribute oder direkt über DOM oder mit dem Style-Array) immer funktioniert es mit FF und mit IE nicht.

    Bei mir funktioniert im IE 6 null

    function del(form, name) {  
    	form[name][0] = null;  
    }
    
    <form action="" >  
    <select name="sel">  
       <option>opt 1</option>  
       <option>opt 2</option>  
       <option>opt 3</option>  
    </select>  
    
    

    Struppi.