<option> ein- oder ausblenden?
mareje
- css
Hallo,
gibt es eine Möglichkeit, das <option>-Feld ein- bzw. auszublenden? Habe es mit visibility und display versucht. Das funktioniert aber leider nicht (IE8).
Hintergrund: Je nach Auswahl in einem anderen <select> [<option>] Feld, soll die Auswahlmöglichkeit dieses <select>-Feldes sich per JS dynamisch verändern. Dazu wollte ich die entsprechenden <option> mit name oder id versehen und ein- bzw. ausblenden.
Danke für eure Hilfe!
Markus
Hi,
gibt es eine Möglichkeit, das <option>-Feld ein- bzw. auszublenden? Habe es mit visibility und display versucht. Das funktioniert aber leider nicht (IE8).
Ob das funktioniert weiss ich nicht.
Hintergrund: Je nach Auswahl in einem anderen <select> [<option>] Feld, soll die Auswahlmöglichkeit dieses <select>-Feldes sich per JS dynamisch verändern. Dazu wollte ich die entsprechenden <option> mit name oder id versehen und ein- bzw. ausblenden.
Vielleicht hilft dir der Artikel Verkettete Auswahllisten weiter.
mfG,
steckl
Hi,
gibt es eine Möglichkeit, das <option>-Feld ein- bzw. auszublenden? Habe es mit visibility und display versucht.
sollte in CSS-konformen Browsern nicht das geringste Problem sein. Bei visibility:hidden bleibt eine Lücke, bei display:none ist das Element nicht mehr sichtbar. Beachte, dass die Anzeige des gewählten Punktes im _geschlossenen_ Dropdown nicht zwingend durch das <option>-Element geschieht.
Das funktioniert aber leider nicht (IE8).
Hast Du ihn in den IE7- oder Quirks-Modus geschaltet? Wenn er sich wie ein IE8 verhält, wundert mich das; eigentlich sind dem IE8 solche Macken recht gut ausgetrieben worden. Bei älteren IE-Versionen sehe ich aber eh keine Chance - vielleicht kann's der IE7 noch, aber davor sicher nicht.
Cheatah
Hier einmal der Code, den ich der Übersicht halber etwas vereinfacht ist.
Funktioniert so definitiv leider nicht!
<!--
function optionchange()
$land = document.getElementsByName('land')[0].value;
if ($land == 'DE')
{
document.getElementsByName('auswahl')[0].style.display = 'none';
document.getElementsByName('auswahl')[1].style.display = 'block';
document.getElementsByName('auswahl')[2].style.display = 'block';
}
else
{
document.getElementsByName('auswahl')[0].style.display = 'block';
document.getElementsByName('auswahl')[1].style.display = 'none';
} document.getElementsByName('auswahl')[2].style.display = 'none';
}
-->
</script>
<script language="JavaScript">
<select name="land" onchange="optionchange()">
<option value="DE">Germany</option>
<option value="CH">Switzerland</option>
<option value="PL">Poland</option>
</select>
<select>
<option name="auswahl" value="1">Auswahl 1</option>
<option name="auswahl" value="2">Auswahl 2</option>
<option name="auswahl" value="3">Auswahl 3</option>
</select>
EDIT
<script language="JavaScript">
muss natürlich weiter hoch. Copy/Paste-Fehler - sorry!
@@mareje:
nuqneH
<script language="JavaScript">
muss natürlich weiter hoch. Copy/Paste-Fehler - sorry!
Das ist nicht die einzige Berichtigung, die das nötig hatte. Das völlig unnütze @language-Attribut kommt in die Rundablage, dafür das fehlende* @type-Attribut rein. <http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=JavaScript-Bereiche in HTML>
Qapla'
* Wir sind hier doch nicht bei HTML5, oder?