webForumDet fria alternativet

Förklara enkelt dynamisk exempel ?

JavaScript

8 svar · 236 visningar · startad av Pellefant

Medlem sedan maj 20023 372 inlägg
Frågan#1

Hej!

Nu har jag verkligen kört fast. Finns det någon snäll själ som kan visa i ett enkelt exempel hur denna kod kan se ut? (Har verkligen försökt hitta på nätet om hur man gör detta, men inte funnit nått bra)

Dropdownmeny(med värdena 1,2,3)

Dropdownmeny(med värdena 7,8,9)

Textfield: Här hamnar summan automatiskt. (Dynamiskt)

(Ingen submitknapp finns.)

HTML+Javascript. (Ska läggas på en Unix server)

Stort tack på förhand. :OO

Medlem sedan juni 20004 308 inlägg
#2

Exempel:

<form>
<select name="a" onchange="this.form.summa.value=parseFloat(this[this.selectedIndex].text)+parseFloat(this.form.b[this.form.b.selectedIndex].text)">
	<option>1</option><option>2</option><option>3</option>
</select>
<select name="b" onchange="this.form.summa.value=parseFloat(this[this.selectedIndex].text)+parseFloat(this.form.a[this.form.a.selectedIndex].text)">
	<option>7</option><option>8</option><option>9</option>
</select>
<input type="text" name="summa" value="8">
</form>
Medlem sedan maj 20023 372 inlägg
#3

Tack så hemkst mycket Jojoxx

Medlem sedan maj 20023 372 inlägg
#4

Följdfråga, hur gör man om man vill ha någon text innan priserna i menyerna?

har testat med

<option value='79'>Mellan</option>

Men det funkar inte. (ger "NaN" istället för summan)

Medlem sedan dec. 20025 483 inlägg
#5

Substituera alla .text mot .value.

:)

Medlem sedan maj 20023 372 inlägg
#6

Hej! :)

Testade det nu, men då får jag "NaN" hela tiden.

Såhär ser det ut nu:

<form>

<select name="a" onchange="this.form.summa.value=parseFloat(this[this.selectedIndex].value)+parseFloat(this.form.b[this.form.b.selectedIndex].value)">

<option value='79'>Some text</option> 

<option>99</option><option>109</option><option>139</option> </select> <select name="b" onchange="this.form.summa.value=parseFloat(this[this.selectedIndex].value)+parseFloat(this.form.a[this.form.a.selectedIndex].value)"> <option>0</option><option>80</option><option>160</option><option>300</option><option>500</option>
</select> <input type="text" name="summa" value="">
</form>
Medlem sedan juli 2000836 inlägg
#7

Du få vara konsekvent, antingen räknar man på text eller value.

<form>
	<select name="a" onchange="this.form.summa.value=parseFloat(this[this.selectedIndex].value)+parseFloat(this.form.b[this.form.b.selectedIndex].value)">
		<option value='79'>Some text</option> 
		<option value='99'>99</option>
		<option value='109'>109</option>
		<option value='139'>139</option>
	</select>

	<select name="b" onchange="this.form.summa.value=parseFloat(this[this.selectedIndex].value)+parseFloat(this.form.a[this.form.a.selectedIndex].value)">
		<option value='0'>0</option>
		<option value='80'>80</option>
		<option value='160'>160</option>
		<option value='300'>300</option>
		<option value='500'>500</option>
	</select>
	<input type="text" name="summa" value="">
</form>
Medlem sedan dec. 20025 483 inlägg
#8

Jag antog att du hade tänkt använda dig av "value"-attributet i båda "select"-elementen.

För att komma åt värdet (value="") använder du .value och för att komma åt texten (...>Text<...) använder du .text.

:)

Medlem sedan maj 20023 372 inlägg
#9

Nu funkar det!!!!!!!!! :) :) :)

Tack så hemskt mycket för hjälpen.

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