webForumDet fria alternativet

addera en massa SELECT

4 svar · 242 visningar · startad av tlee

tleeMedlem sedan mars 2001293 inlägg
#1

Hej..

Jag har ett problem..

<FORM NAME=f_Conf>
<SELECT NAME=sel1>
<OPTION SELECTED>Välj Processor</OPTION>
<OPTION VALUE=2999>Cpu Celeron 766MHz 128K</OPTION>
<OPTION VALUE=3005>Cpu Celeron 800MHz 128K</OPTION>
</SELECT>
</TD></TR>
<TR><TD>
<SELECT NAME=sel2>
<OPTION SELECTED>Välj Minne</OPTION>
<OPTION VALUE=1000>Dimm PC133 128Mb ECC 168p</OPTION>
<OPTION VALUE=1001>Dimm PC133 128Mb 3,3v168p</OPTION>
<OPTION VALUE=1002>Dimm PC100 128Mb ECC 168p</OPTION>
<OPTION VALUE=1003>Dimm PC133 256Mb ECC 168p</OPTION>
<OPTION VALUE=10004>Dimm PC133 256Mb 3,3v168p</OPTION>
<OPTION VALUE=10005>Dimm PC100 256Mb ECC 168p</OPTION>
</SELECT>
<INPUT TYPE=TEXT NAME=txtResult>
<INPUT TYPE=BUTTON VALUE='Räkna ut pris' OnClick=javascript:Calc('2');>
</FORM>

Hur gör jag ett script som tar priset från det valda alternativen ur droplistorna
och adderar ihop dem och skriver ut dem i txtResult fältet?

Knappen skickar alltså med antalet <SELECTS> som finns på sidan till functionen Calc()

Jag har testat lite men inte fått det att funka, någon som kan kolla lite på det?

<script lanugage=javascript>
<!--
function calc(iMax)
{

  for (iCounter=1;iCounter<iMax;iCounter++;)
  {
    iResult = iResult + document.f_Conf.sel+iCounter+.value
  }

  document.f_Config.txtResult.value = iResult;

}
</script>

Det funkar dock inte så bra... någon ?

/t

------------------
the man with the golden bottle..

JojoxxMedlem sedan juni 20004 306 inlägg
#2
<script language="Javascript">
function Calc(iMax){
	iResult=0
	for (iCounter=1;iCounter<=iMax;iCounter++) {
		prize=parseFloat(eval("document.f_Conf.sel"+iCounter+".options[document.f_Conf.sel"+iCounter+".selectedIndex].value"));
		if(isNaN(prize)){ prize=0; }
		iResult+=prize
	}
	document.f_Conf.txtResult.value = iResult;
}
</script>

<FORM NAME=f_Conf>
<SELECT NAME=sel1>
<OPTION SELECTED>Välj Processor</OPTION>
<OPTION VALUE=2999>Cpu Celeron 766MHz 128K</OPTION>
<OPTION VALUE=3005>Cpu Celeron 800MHz 128K</OPTION>
</SELECT>

<SELECT NAME=sel2>
<OPTION SELECTED>Välj Minne</OPTION>
<OPTION VALUE=1000>Dimm PC133 128Mb ECC 168p</OPTION>
<OPTION VALUE=1001>Dimm PC133 128Mb 3,3v168p</OPTION>
<OPTION VALUE=1002>Dimm PC100 128Mb ECC 168p</OPTION>
<OPTION VALUE=1003>Dimm PC133 256Mb ECC 168p</OPTION>
<OPTION VALUE=10004>Dimm PC133 256Mb 3,3v168p</OPTION>
<OPTION VALUE=10005>Dimm PC100 256Mb ECC 168p</OPTION>
</SELECT>
<INPUT TYPE=TEXT NAME=txtResult>
<INPUT TYPE=BUTTON VALUE='Räkna ut pris' OnClick=javascript:Calc('2');>
</FORM>

--- Tillägg ---

5:e raden (som slutar med options) och 6:e raden skall vara en enda rad.

------------------

/ J

[Redigerat av Jojoxx den 31 maj 2001]

tleeMedlem sedan mars 2001293 inlägg
#3

strålande.. det funkar verkligen smutt..

tackar för det...

En annan sak, jag skulle behöva kunna klämma in artikelnumret här också.

<OPTION VALUE=CPU766>Cpu Celeron 766MHz 128K</OPTION>

för att sen lägga in allt i en varukorg.
Kan jag skicka med både artikelnummer och pris på samma gång på något sätt ?

/tobias

------------------
the man with the golden bottle..

JohnsenMedlem sedan juli 2000718 inlägg
#4

Prova detta:

<script lanugage=javascript>
<!--
function Calc(iMax){
var iResult=0
for(var i=1; i<=iMax; i++){
var selValue=eval("document.f_Conf.sel"+i+".options[document.f_Conf.sel"+i+".selectedIndex].value")
var prize=parseFloat(selValue.split(":"));
if(isNaN(prize)){ prize=0; }
iResult+=prize
}
document.f_Conf.txtResult.value = iResult;
}
</script>

<FORM NAME="f_Conf">
<SELECT NAME="sel1">
<OPTION SELECTED>Välj Processor</OPTION>
<OPTION VALUE="2999:cpu766">Cpu Celeron 766MHz 128K</OPTION>
<OPTION VALUE="3005:cpu800">Cpu Celeron 800MHz 128K</OPTION>
</SELECT>
</TD></TR>
<TR><TD>
<SELECT NAME="sel2">
<OPTION SELECTED>Välj Minne</OPTION>
<OPTION VALUE="1000:bla1">Dimm PC133 128Mb ECC 168p</OPTION>
<OPTION VALUE="1001:bla2">Dimm PC133 128Mb 3,3v168p</OPTION>
<OPTION VALUE="1002:bla3">Dimm PC100 128Mb ECC 168p</OPTION>
<OPTION VALUE="1003:bla4">Dimm PC133 256Mb ECC 168p</OPTION>
<OPTION VALUE="10004:bla5">Dimm PC133 256Mb 3,3v168p</OPTION>
<OPTION VALUE="10005:bla6">Dimm PC100 256Mb ECC 168p</OPTION>
</SELECT>
<INPUT TYPE="TEXT" NAME="txtResult">
<INPUT TYPE="BUTTON" VALUE='Räkna ut pris' OnClick="Calc('2');">
</FORM>

------------------
- J-O-H-N-S-E-N -
------------------

tleeMedlem sedan mars 2001293 inlägg
#5

lysande.. tack för hjälpen..

/tobias

------------------
the man with the golden bottle..

Genererad på 381 ms · cache AV · v20260730165559-full.f96bc7eb