Avatar billede benneharli Juniormester
19. november 2007 - 18:44 Der er 15 kommentarer og
1 løsning

select vha. variabel

Hey

Jeg ved faktisk ikke helt hvordan jeg skal gribe det her an, men prøver.

1: Jeg har (når jeg loader min side) en variabel i et skjult felt der her id="scene"

2: Jeg har en select box med værdier fra 1 til 3, og alt efter hvilken værdi min variabel har, skal den rigtige værdig vælges.

Altså:
-------------------------------------------------------------
<select onChange="submit();" maxlength="20" style="width: 162; height:35; font-size:18pt" size="1" tabindex="1">
<option value="1">Escena 1</option>
<option value="2">Escena 2</option>
<option value="3">Escena 3</option>
</select>

<input type="hidden" id="scene" name="TACWRITE spec='('%i',lacnet.302.X302.Escenas)'"></input>

Men hvad med JavaScriptet???
Avatar billede w13 Novice
19. november 2007 - 18:49 #1
Giv lige selecten id="select".

Og så brug koden:
--------------------
<script type="text/javascript">
window.onload=function(){document.getElementById("select").selectedIndex=document.getElementById("scene").value}
</script>
Avatar billede benneharli Juniormester
19. november 2007 - 19:23 #2
hmm... nope. korer ikke rigtigt :-(
Avatar billede benneharli Juniormester
19. november 2007 - 19:23 #3
har smidt det i headeren... er det ikke ok?
Avatar billede w13 Novice
19. november 2007 - 19:25 #4
Ja. Hvis du får en fejlmeddelelse, så skriv den her.
Avatar billede w13 Novice
19. november 2007 - 19:26 #5
Har du givet select'en id="select"? Er du sikker på, at input'en indeholder et tal?
Avatar billede benneharli Juniormester
19. november 2007 - 19:59 #6
har lavet lidt om nu, og det ser ud til at give noget...

I headeren:

<script language="Javascript">
function select()
{
document.getElementById("select").selectedIndex = document.getElementById("scene").value;
}
</script>


Body:

onLoad="java script:select();"



Og ja, jeg har sat id
Avatar billede benneharli Juniormester
19. november 2007 - 20:01 #7
Ah... Det er fordi den vaelger position, ok ikke vaerdi... Altsa position 0 = vaerdi 1... Kan man ikke lave om paa det?
Avatar billede benneharli Juniormester
19. november 2007 - 20:07 #8
er det muligt at vaelge vha. vaerdi i stedet for index?
Avatar billede w13 Novice
19. november 2007 - 21:07 #9
Hvis det er fordi den ikke skal starte på nul, men på 1, kan du så ikke bare lægge én til? Det andet er nemlig muligt, men svært.

<script language="Javascript">
window.onload=function(){document.getElementById("select").selectedIndex = document.getElementById("scene").value+1}
</script>
Avatar billede w13 Novice
19. november 2007 - 21:07 #10
Hov, det sku' være:

<script type="text/javascript">
window.onload=function(){document.getElementById("select").selectedIndex = document.getElementById("scene").value+1}
</script>

Language er ikke gyldigt på script-tag'et.
Avatar billede benneharli Juniormester
19. november 2007 - 21:21 #11
ok, men hvad nu hvis det ikke er tal men ord??? så duer det jo ikke med value+1... Kan man ikke vælge på value? Altså selected i stedet for selectedIndex?
Avatar billede w13 Novice
19. november 2007 - 21:24 #12
Jo, så må det være et eller andet med en løkke, som løber alle selectens værdier igennem på en eller anden måde og tjekker op mod inputtens værdi, indtil den finder den rigtige. Og så må 2 options bestemt ikke være ens.
Avatar billede w13 Novice
19. november 2007 - 21:37 #13
Det er vist noget:
--------------------------------------------------------
var strValue=document.getElementById("scene").value;
var arrOptions=document.getElementById("select").options;
var i=arrOptions.length-1;
do{
  if(arrOptions[i]==strValue)document.getElementById("select").selectedIndex=i;
}while(i--)
--------------------------------------------------------
I øvrigt må du ikke skrive:
<input type="hidden" id="scene" name="TACWRITE spec='('%i',lacnet.302.X302.Escenas)'"></input>
Det skal være:
<input type="hidden" id="scene" name="TACWRITE spec='('%i',lacnet.302.X302.Escenas)'" value="">
Avatar billede w13 Novice
19. november 2007 - 22:12 #14
Fungede det?
Avatar billede benneharli Juniormester
19. november 2007 - 22:16 #15
Det første har jeg ikke prøvet endnu, men det var også kun et spørgsmål... Det kommer til at køre med tal...

Det sidste afklarede en tvivl jeg har haft længe. Min side lavede fejl hvis jeg ikke satte </input> på, men ved at sætte value="" ind virker det - SUPERT
Avatar billede w13 Novice
20. november 2007 - 02:08 #16
Okidoke! =) Tak for point!
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