Just nu i M3-nätverket
Jump to content

få <select> att behålla värde?


bmwjohan

Recommended Posts

jag har skrivit lite kod där användaren får välja lite saker ur <select><option> grejer och när han har valt klart postar man <form>'en och gör lite beräkningar.

 

jag skulle vilja att det som användaren har valt i <select><option> står kvar i rulllistan när sidan har laddats om.

 

vad skriver jag för att få rulllistan att behålla sitt utseende/värde?

Link to comment
Share on other sites

Tjena!

 

Det är bara att skriva "selected" i den option som ska vara förvald.

 

<select>
<option value="hejsan">inte vald
<option value="svejsan" selected>vald
</select>

 

/ Johan

 

[inlägget ändrat 2002-08-19 16:00:31 av Nollis]

Link to comment
Share on other sites

 

nej jag menade inte så.

 

jag menar att användaren väljer ett värde.

sidan laddas om.

då vill jag att det värdet som användaren har valt ska stå kvar i rulllistan som valt värde.

 

 

 

Link to comment
Share on other sites

Tjena!

 

I princip är det inte möjligt att göra det, men möjligen i praktiken... ;)

 

Prova att sätta en cookie vid onChange eventet på selectboxen, samt att när sidan laddas om, sätta selectedIndex baserat på vad som finns i cookien.

 

Det är det minst komplicerade sätt som jag kan komma på, för att kringå det faktum att de val, som görs i ett formulär, i de flesta browsers, återställs till utgångsläget när man gör en reload...

 

/ Johan

 

Link to comment
Share on other sites

Christoffer Eklund

Hej, du kan alltid skicka det som en QueryString och fånga upp det.

 

I ditt javascript får du se till att du skickar med rätt parameter. om du har en onChange funktion kan den se ut nåt sånt här:

 

<script>

function valj(intId){

location.href="vad.asp?vad" + intId;

}

</script>

 

Och din <select> så här:

<select name="valj" onChange="valj(this.value)">

<option value="1"<%if request("vad") = "1" then%> selected<%end if%>>val 1

<option value="2"<%if request("vad") = "2" then%> selected<%end if%>>val 2

</select>

 

vad.asp får du byta ut mot vad din sida heter. Om du tex skulle välja val 2 nu i dropdownen så skulle sidan få url:en vad.asp?vad=2 och "val 2" skulle vara förvalt.

 

hoppas du fattar.

 

/doffe

 

 

 

 

 

Link to comment
Share on other sites

Tjena!

 

Fint, men din lösning förutsätter att man vid varje val i selectsatsen laddar om sidan. Som jag förstod kravspecen, skulle man inte behöva göra det. Nedan ett exempel på mitt tidigare lösningsförslag;

 

Reflexion: Efter att ha läst "kravspecen" en gång till inser jag att det kanske är precis din lösning som efterfrågas... Jag trodde det handlade om att bevara valda värden i det fall användaren laddar om formuläret... (Jag är inte längre så tvärsäker på att det var det som efterfrågades, men min lösning på DET problemet tycker jag är ganska genial! ;)

 

<html>
<body onload="this.document.hejsan.svejsan.selectedIndex=<%=Request.Cookies("selection")%>;">

<script language="JavaScript1.2">
function set_cookie(expression){
time = new Date();

document.cookie = "selection=" + expression + ";";
document.cookie += "expires=" + cookieDate(time + 24*60*60*1000);
}
</script>

<form name="hejsan">
<select name="svejsan" onChange="set_cookie(this.selectedIndex);">
<option value="hopp">hopp</option>
<option value="sopp">sopp</option>
<option value="topp">topp</option>
<option value="kopp">kopp</option>
</select>
</form>

</body>
</html>

 

/ Johan

 

[inlägget ändrat 2002-08-19 16:52:01 av Nollis]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...