tjena nu har jag ett nytt problem här.
Jag har en dynamisk vikt uträknare och baserar sig på vikt i min webbutik.
Man matar in uppgifterna så här
25:15;100:30;300:190;5000:300;6000:400;7000:500;8000:600
Det blåa är vikten och det röda anger priset för respektive vikt.
Så här räknas frakten ut när man lägger en order:
ASP kod
levPriser=split(RS("leveranssatt_cost"),";")
for each levVikter in levPriser
lev1Vikt=split(levVikter,":")
lev1Vikt1 = lev1Vikt(0)
lev1Vikt2 = lev1Vikt(1)
sistavikt=lev1Vikt(0)
sistacost=lev1Vikt(1)
if ""&(levVikt*1000)&""=<""&lev1Vikt1&"" and fraktkostnad=0 then
fraktkostnad=lev1Vikt2
end if
next
Denna funkar prima, men nu vill jag att fraktkostnaden ska uppdateras i beställningsformuläret, när man anger antal produkter och vilka produkter.
Så här långt har jag kommit:
ASPkod
Response.write "levcost=document.forms[""orderpage""].elements[""levID"&RS("leveranssatt_ID")&"""].id;" & vbcrlf
Response.write "var levPriser = levcost.split("";"");" & vbcrlf
Response.write "for(var i=0; i<levPriser.length; i++){;" & vbcrlf
Response.write "var lev1Vikt = levPriser[i].split("":"");" & vbcrlf
Response.write "if(sum<=lev1Vikt[0]){" & vbcrlf
Response.write "viktsumma=lev1Vikt[1];" & vbcrlf
Response.write "}" & vbcrlf
Response.write "}" & vbcrlf
Response.write "document.forms[""orderpage""].elements[""levID"&RS("leveranssatt_ID")&"""].value=viktsumma;" & vbcrlf
Utskriven Javascriptkod
levcost=document.forms["orderpage"].elements["levID22"].id;
var levPriser = levcost.split(";");
for(var i=0; i<levPriser.length; i++){;
var lev1Vikt = levPriser[i].split(":");
if(sum<=lev1Vikt[0]){
viktsumma=lev1Vikt[1];
}
}
document.forms["orderpage"].elements["levID22"].value=viktsumma;
Problemet
Det jag har problem med är att den alltid tar den sista uträkningen. Då visas hela tiden den dyraste frakten även om det ska vara den billigaste.
Jag har försökt att lägga in ett stopp som i min ASPkod
if ""&(levVikt*1000)&""=<""&lev1Vikt1&""[B] and fraktkostnad=0[/B] then
Men jag har ingen aning om hur man gör något liknade i javascript. Men jag är rätt säker på att det är denna rad som ska ändras lite:
if(sum<=lev1Vikt[0]){
Jag hoppas någon förstår vad mitt problem är.
//Joel