---
title: "splitfunktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/161144-splitfunktion"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "GustaFsson"
published: "2007-06-05T16:03:50.000Z"
updated: "2007-06-07T19:24:21.000Z"
replies: 1
views: 364
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/161144-splitfunktion"
---

# splitfunktion

## #1 — GustaFsson, 2007-06-05T16:03Z

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

Permalänk: https://www.webforum.nu/p/161144

## #2 — GustaFsson, 2007-06-07T19:24Z

Jag löste det med

```
Response.write "if(sum<=lev1Vikt[0]){"   & vbcrlf
	[B]Response.write "if(viktsumma==0){"   & vbcrlf[/B]
	Response.write "viktsumma=lev1Vikt[1];"   & vbcrlf
	Response.write "}"   & vbcrlf 
	Response.write "}"   & vbcrlf 
Response.write "}"   & vbcrlf
```

 

Testae detta förut, men då hade jag missat dubbla likhetstecken...

Permalänk: https://www.webforum.nu/p/1988358

---

Tråden på webben: https://www.webforum.nu/amne/javascript/161144-splitfunktion
