---
title: "Ändra pris beroende på antal"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/167497-ändra-pris-beroende-på-antal"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "250km/h"
published: "2007-12-21T11:42:15.000Z"
updated: "2007-12-25T16:43:29.000Z"
replies: 5
views: 555
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/167497-ändra-pris-beroende-på-antal"
---

# Ändra pris beroende på antal

## #1 — 250km/h, 2007-12-21T11:42Z

Jag har en sida där man får välja storlek och sedan antal, jag vill att man skall se priset omedelbart efter de två valen; 

```
<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 onChange=javascript:Calc('2');>
		<option selected value=>Välj Storlek</option>
          <option value=1000:A4>A4</option>
          <option value=800:A5>A5</option>
        </select>
        <select name=sel2 onChange=javascript:Calc('2');>
          <option selected value=>Välj Antal</option>
          <option value=-10:10>10st</option>
          <option value=-20:20>20st</option>
          <option value=-30:30>30st</option>
        </select>
        <input type=text name=txtResult>
</FORM>
```

 

Denna kod är lite modifierad men jag hittade den här på wF, jag vill dock ha procentsatser som det multipliceras med, hur gör jag för att ändra det?
Det verkliga priset kommer räknas ut på serversidan så det gör inget om det är fulkod, bara man får en översikt av priset på det man beställer.

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

## #2 — Jesper T, 2007-12-21T21:56Z

```
<script lanugage=javascript>
<!--
function Calc(){
var iResult=0
var sel1Value=document.f_Conf.sel1.options[document.f_Conf.sel1.selectedIndex].value
var sel2Value=document.f_Conf.sel2.options[document.f_Conf.sel2.selectedIndex].value
var prize=parseFloat(sel1Value.split(":"));
var discount=parseFloat(sel2Value.split(":"));

prize = (prize/100)*discount;

if(isNaN(prize)){prize=''}
document.f_Conf.txtResult.value = prize;
};
-->
</script>
<form name=f_Conf>

        <select name=sel1 onChange=javascript:Calc();>
          <option selected value=>Välj Storlek</option>
          <option value=1000:A4>A4</option>
          <option value=800:A5>A5</option>
        </select>
        <select name=sel2 onChange=javascript:Calc();>
          <option selected value=>Välj Antal</option>
          <option value=[red]100[/red]:10>10st</option>
          <option value=[red]90[/red]:20>20st</option>
          <option value=[red]80[/red]:30>30st</option>
        </select>
        <input type=text name=txtResult>
</FORM>
```

Där 100, 90 och 80 motsvarar procent av priset.
Men du kanske menar procent rabatt?

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

## #3 — Jesper T, 2007-12-21T22:07Z

Se upp med lanugage och name-attribut på dina element/taggar, de är passé.
Här är om du vill ha rabattprocent.

```
<script type="text/javascript">
<!--
function Calc(){
var iResult=0
var sel1Value=document.f_Conf.sel1.options[document.f_Conf.sel1.selectedIndex].value
var sel2Value=document.f_Conf.sel2.options[document.f_Conf.sel2.selectedIndex].value
var prize=parseFloat(sel1Value.split(":"));
var discount=parseFloat(sel2Value.split(":"))/100;

prize = prize-(prize*discount);

if(isNaN(prize)){prize=''}
document.f_Conf.txtResult.value = prize;
};
-->
</script>
<form name=f_Conf>
        <select name=sel1 onChange=javascript:Calc();>
	  <option selected value=>Välj Storlek</option>
          <option value=1000:A4>A4</option>
          <option value=800:A5>A5</option>
        </select>

        <select name=sel2 onChange=javascript:Calc();>
          <option selected value=>Välj Antal</option>
          <option value=0:10>10st</option>
          <option value=10:20>20st</option>
          <option value=20:30>30st</option>
        </select>

        <input type=text name=txtResult>
</FORM>
```

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

## #4 — 250km/h, 2007-12-22T17:11Z

Stort tack, det blev ruggigt stiligt! Skickligt!
Hur gör man för att även skriva ut det som vanligt mellan \<P\>XX\</P\>?

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

## #5 — Jesper T, 2007-12-22T20:37Z

Lägg till \<P id="result"\>\</P\> på din sida.

Byt ut:
document.f_Conf.txtResult.value = prize;

Mot:
document.getElementById("result").innerHTML = prize;

BTW: du kan även ta bort *var iResult=0* i din kod, fyller ingen funktion.

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

## #6 — Troxy, 2007-12-25T16:43Z

> **Jesper T skrev:**
>
> Se upp med lanugage och name-attribut på dina element/taggar, de är passé.

...för att inte tala om att omsluta sin kod med \<!-- --\> ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/167497-ändra-pris-beroende-på-antal
