Avatar billede cronick Nybegynder
02. april 2007 - 21:43 Der er 22 kommentarer og
1 løsning

Drop down

Jeg har fået et mindre problem. Jeg har en drop down, hvor den vælger imellem to muligheder. Afhængig af hvilken den tager, skulle indeholdet nedenunder gerne ændre sig. Problemet er bare at det ikke sker, og at jeg får følgende fejl: Objektet understøtter ikke denne egenskab eller metode..

Min kode:

// << HEAD >>
<script type="text/javascript">
function kategori(type) {
document.getElementById("kategori").value = document.getElementById(type).value;
}
</script>
// << /HEAD >>

<select name="type" style="width: 200px;" onChange="kategori(this.options[this.selectedIndex].value)">
<option value="et">Et</option>
<option value="to">To</option>
</select>

<div id="kategori">
</div>

<div id="et" style="display: none;">
Indhold 1
</div>

<div id="to" style="display: none;">
Indhold 2
</div>
Avatar billede roenving Novice
02. april 2007 - 21:50 #1
Vis i stedet tingen:

<script type="text/javascript">
function kategori(type) {
document.getElementById(type).display = 'block';
}
</script>

<select name="type" style="width: 200px;" onChange="kategori(this.value)">
<option value="et">Et</option>
<option value="to">To</option>
</select>

<div id="et" style="display: none;">
Indhold 1
</div>

<div id="to" style="display: none;">
Indhold 2
</div>
Avatar billede roenving Novice
02. april 2007 - 21:50 #2
Hov:

document.getElementById(type).style.display = 'block';
Avatar billede cronick Nybegynder
02. april 2007 - 22:01 #3
Det går ikke helt - jeg skal kunne skifte imellem dem, hvor kun den ene skal vises. Dvs. at det skal være i et nyt div, hvor det bliver flyttet over i. Desuden har jeg også en starttekst, som skal vises før en af de to valgmuligheder er blevet valgt.
Avatar billede roenving Novice
02. april 2007 - 22:06 #4
Tjah, jeg undrede mig også over din problem-formulering ...

-- kigger lige på det !-)
Avatar billede roenving Novice
02. april 2007 - 22:11 #5
F.eks. sådan:

<script type="text/javascript">
var oldCat = null;
function kategori(type) {
  if(oldCat)
    oldCat.display = "none";
  if(type){
    var cat = document.getElementById(type).style
    cat.display = 'block';
    oldCat = cat;
  }
}
</script>

<select name="type" style="width: 200px;" onchange="kategori(this.value)">
  <option>Vælg kategori</option>
  <option value="et">Et</option>
  <option value="to">To</option>
</select>

<div id="et" style="display: none;">
Indhold 1
</div>

<div id="to" style="display: none;">
Indhold 2
</div>
Avatar billede cronick Nybegynder
02. april 2007 - 22:26 #6
Den samme fejl får jeg..

Og det er den her linie.. Det var det desuden også med min egen løsning:
<select name="type" style="width: 200px;" onchange="kategori(this.value)">
Avatar billede roenving Novice
02. april 2007 - 22:34 #7
Hvilken fejl ?-)
Avatar billede cronick Nybegynder
02. april 2007 - 22:35 #8
"Objektet understøtter ikke denne egenskab eller metode"..
Avatar billede roenving Novice
02. april 2007 - 23:34 #9
Du har vel ikke et element med id="kategori", og så kan man jo ikke adressere det !-)
Avatar billede cronick Nybegynder
03. april 2007 - 00:19 #10
I din metode, bruges der slet ikke et objekt med id="kategori", og i min har jeg godt nok husket det.. :)
Avatar billede roenving Novice
03. april 2007 - 00:29 #11
Det skal du jo netop ikke !-)
Avatar billede cronick Nybegynder
03. april 2007 - 01:26 #12
Joeh? I din skal jeg ikke, men i min skal jeg.. Og ingen af dem virker..
Avatar billede roenving Novice
03. april 2007 - 01:30 #13
Så må du vise, hvad du gør, for ovenstående virker jo ...
Avatar billede cronick Nybegynder
03. april 2007 - 15:30 #14
<script type="text/javascript">
function kategori(type) {
document.getElementById("kategori").value = document.getElementById("kategori_" + type).value;
}
</script>

<input type="radio" name="skifter" value="1" id="skifter_1" onClick="kategori(this.value);"> <label for="skifter_1">Overskrift 1</label> <input type="radio" name="skifter" value="2" id="skifter_2" onClick="kategori(this.value);"> <label for="skifter_2">Overskrift 2</label>

<div id="kategori">
Starttekst..
</div>

<div id="kategori_1" style="display: none;">
Tekst 1
</div>

<div id="kategori_2" style="display: none;">
Tekst 2
</div>
Avatar billede cronick Nybegynder
03. april 2007 - 15:31 #15
Det burde da virke, ikke?
Avatar billede roenving Novice
03. april 2007 - 15:36 #16
Nej, det hedder ikke value på andet end form-felter, i de her tilfælde skal du til at ændre nodeValue på børne-elementer, så f.eks.

document.getElementById("kategori").firstChild.nodeValue = document.getElementById("kategori_" + type).firstChild.nodeValue;

-- og så skal du nok fjerne linjeskiftene før indholdsteksten !-)

<div id="kategori">Starttekst..
</div>

<div id="kategori_1" style="display: none;">Tekst 1
</div>
Avatar billede cronick Nybegynder
04. april 2007 - 23:24 #17
Det ændrede ikke en hat - desuden er begge ting du foreslår ikke en nødvendighed.. Value er nok, og ikke alt det med node og child. Og linjeskift "før indholdsteksten" er også ligegyldigt..
Avatar billede roenving Novice
04. april 2007 - 23:41 #18
Næh ...
Avatar billede cronick Nybegynder
05. april 2007 - 01:25 #19
Joeh.. :)
Avatar billede olebole Juniormester
07. april 2007 - 12:19 #20
<ole>

cronick >> Uanset, hvad du måtte tro, så har roenving helt ret - og du tager fundamentalt fejl  =)

/mvh
</bole>
Avatar billede cronick Nybegynder
08. april 2007 - 01:42 #21
Han sagde "næh" til at det ikke kan være ligemeget - I tager derfor begge fundamentalt fejl..
Avatar billede cronick Nybegynder
23. juni 2007 - 12:54 #22
....
Avatar billede olebole Juniormester
25. juni 2007 - 13:15 #23
Nej, det gør vi ikke. Du vrøvler til gengæld om noget, du absolut ikke har styr på ... og dét tager jeg med højglansforkromet statsgaranti ikke fejl i  ;o)
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