webForumDet fria alternativet

Selectruta -> skicka värde till span

8 svar · 647 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#1

Jag har en selectruta och när jag väljer i den så vill jag att en redan befintlig text inne i en span: <span class="extra">Texten</span> ska bytas mot det värdet som det jag valde i selectrutan. Det som står först i value av de två olika värderna som separeras med ;

Förstår ni hur jag menar?

<select name="namnet">
		<option value="val 1;namn 1">namn1</option>
		<option value="val 2;namn 2">namn2</option>
		<option value="val 3;namn 3">namn3</option>
		<option value="val 4;namn 4">namn4</option>
</select>

<span class="extra">Texten</span>
voigtann1Medlem sedan juni 20019 519 inlägg
#2

använd "onChange" på din select.

function b(v) {
document.getElementById("extra").innerHTML = v.value;
}
<select name="namnet" onchange="b(this)">
		<option value="val 1;namn 1">namn1</option>
		<option value="val 2;namn 2">namn2</option>
		<option value="val 3;namn 3">namn3</option>
		<option value="val 4;namn 4">namn4</option>
</select>

<span class="extra" id="extra">Texten</span>
AsaMedlem sedan dec. 20011 860 inlägg
#3

Tackar :)
Funkade fint men hur gör jag så den bara hämtar ut ex val 1 i värdet val 1;namn 1 ?
Alltså enbart första delen av värdet. Innan ;

Vill gärna veta hur man kan hämta ut båda värderna men med array eller nåt. Kan vara bra att veta. Ifall jag har fler värden på nån annan del av nån hemsida.

metalboyMedlem sedan jan. 2005953 inlägg
#4
function b(v) {
   document.getElementById('extra').innerHTML = v.split(';')[0];
}
AsaMedlem sedan dec. 20011 860 inlägg
#5

Det funkar inte för mig :(

metalboyMedlem sedan jan. 2005953 inlägg
#6

Oj... sorry... missade ju value :D

function b(v) {
   document.getElementById('extra').innerHTML = v.value.split(';')[0];
}
AsaMedlem sedan dec. 20011 860 inlägg
#7

Tackar så mycket. Funkade fint nu :)

Slutliga koden

<script>
function b(v) {
   document.getElementById('extra').innerHTML = v.value.split(';')[0];
}
</script>

<select name="namnet" onchange="b(this)">
		<option value=""> - Välj - </option>
		<option value="val 1;namn 1">namn1</option>
		<option value="val 2;namn 2">namn2</option>
		<option value="val 3;namn 3">namn3</option>
		<option value="val 4;namn 4">namn4</option>
</select>

<span class="extra" id="extra">Texten</span>
AsaMedlem sedan dec. 20011 860 inlägg
#8

Kan man kolla OM det står något på andra stället i värdet? Alltså en ifsats som kollar OM ex det står namn 1 då ska den sätta

   document.getElementById('extra2').innerHTML = v.value.split(';')[1];

Annars ska den inte alls sätta texten till span fältet. Förstår ni?

voigtann1Medlem sedan juni 20019 519 inlägg
#9
function b(v) {
var thevalue = v.value.split(';');
if(thevalue[1].length>0) {
document.getElementById("extra").innerHTML = thevalue[0];
}
}
133 ms totalt · 3 externa anrop · v20260731065814-full.7de19299
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)