webForumDet fria alternativet

Återställa <select>-lista

JavaScript

10 svar · 366 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Frågan#1

Finns det något sätt att återställa originalvalet i en <select>-lista?
Man kan ju använda reset() men det stöds bara på <form> och då rensas ju hela formuläret?

Medlem sedan dec. 200220 inlägg
#2

Du kanske kan använda selectedIndex?

this.selectedIndex=0
Medlem sedan juni 200032 967 inlägg
#3

Det kan man, men det är ju inte säkert att det var 0:an som var förvald? :)

Medlem sedan nov. 200013 890 inlägg
#4

@nders har rätt. Jag vet inte vilket alternativ som är valt. [gråtande smiley här]

Medlem sedan juni 200032 967 inlägg
#5

Däremot borde du kunna göra så här (jag är amatör dock, så det finns säkert bättre sätt att lösa det på)

<body onload="var foo=document.getElementById('bar').selectedIndex;">
<input type="button" onclick="document.getElementById('bar').selectedIndex=foo;" value="wee">

Mvh

Medlem sedan nov. 200013 890 inlägg
#6

Ja, jag var inne på detta med att kolla originalvärdet vid onload... och det funkar ju.

Fast i verkligheten så poppar jag upp en varning/fråga i ett showModalDialog()-fönster där man får möjligheten att ångra sin ändring. Problemet med detta är jag måste hålla på att skicka värden till och från detta fönster på ett icke önskvärt sätt.

Därför hade jag hoppats att det fanns ett mer standardiserat sätt att göra detta.

Men det var fiffig kod du bjöd på @nders, så om inte någon annan är övertrumfar dig så markerar jag den här tråden som löst innan nästa soluppgång.

Medlem sedan juni 20004 308 inlägg
#7

Men tänk om det är en flervals-lista då? [skadegladast-i-stan-smiley]

Medlem sedan nov. 200013 890 inlägg
#8

Men det är det inte.
Det är en vanlig <select>-lista. :l

Medlem sedan juni 200032 967 inlägg
#9

Jag hade hoppats att besserwisser-jojoxx inte skulle tänka på det. ;)

Medlem sedan dec. 200220 inlägg
#10

Kanske kan du istället använda defaultSelected, ex:

  o=document.getElementById('kaka').options;
  for(var i=0;i<o.options.length;i++) {
  	if(o[i].defaultSelected) {
  		alert(o[i].text);
  	}
  }
Medlem sedan nov. 200013 890 inlägg
#11

Här sitter man och pular halva eftermiddagen och precis när man lyckats leverera dagens snyggaste ful-hack så kommer du med defaultSelected. :e

260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)