Avatar billede kresten112 Nybegynder
08. januar 2005 - 17:20 Der er 4 kommentarer og
1 løsning

Problem med onchange i select-element

Jeg skal have lavet en funktion, der viser eller gemmer et lag afhængigt af hvilken option man har valgt i et select-element, ex:

<select name="kategori" onChange="vis_nyt_lag()">
<option value="header">-- Vælg kategori --</option>
<option value="1">Kategori 1</option>
<option value="2">Kategori 2</option>
</select>

Hvis man vælger Kategori 2, skal nedenstående lag være "visible", ellers skal det være "hidden"

<div id="nyt_lag" style="visibility: hidden;">
HER LIGGER MIT NYE LAG
</div>

Hvordan skal den funktion "vis_nyt_lag()" se ud....?
Avatar billede thomas_yde Nybegynder
08. januar 2005 - 17:52 #1
<script>
function vis_nyt_lag(){
    var selected = document.getElementById("kategori");
    var div = document.getElementById("nyt_lag");
    div.style.display = (selected.value=="2") ? "block":"none";
}
</script>
<select name="kategori" id="kategori" onChange="vis_nyt_lag()">
<option value="header">-- Vælg kategori --</option>
<option value="1">Kategori 1</option>
<option value="2">Kategori 2</option>
</select>
<br>
Hvis man vælger Kategori 2, skal nedenstående lag være "visible", ellers skal det være "hidden"
<br>
<br>
<div id="nyt_lag" style="display:none;">
HER LIGGER MIT NYE LAG
</div>
Avatar billede kresten112 Nybegynder
08. januar 2005 - 18:03 #2
Super! - 60 point på vej til dig! Fortsat god aften...
Avatar billede roenving Novice
09. januar 2005 - 14:19 #3
Hvorfor ikke benytte sig af, at eventen kommer fra det element, man skal bruge som udgangspunkt:

<script type="text/javascript">
function vis_nyt_lag(sel){
  document.getElementById("nyt_lag").style.display = (sel.selectedIndex==2) ? "block":"none";
}
</script>
<select name="kategori" id="kategori" onChange="if(this.selectedIndex>0)vis_nyt_lag(this)">

-- iøvrigt er det faktisk ikke tilladt at lave script-tags, hvor man ikke angiver type, i hvert fald ikke i html efter 1998-standarden (html 4.01 og senere !-)
Avatar billede thomas_yde Nybegynder
10. januar 2005 - 00:11 #4
Det er vel hip som hap hvad man bruger.

Og med hensyn til type på scriptet så skyldes det nok min dovenskab...for jeg er godt klar over det.
Avatar billede roenving Novice
11. januar 2005 - 17:58 #5
-- hvis du aldrig skal bruge den igen (altså til andre elementer !-) er det bare dårlig programmeringsskik ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester