webForumDet fria alternativet

Summera fält funktion

5 svar · 1 784 visningar · startad av S@rpp@

S@rpp@Medlem sedan okt. 200058 inlägg
#1

Försöker få till följande:

Har en loop som skriver ut ett antal produkter:

...
for bla bla
%>
<tr>
<td><input type="checkbox" name="prodid" value="<%=prodid%>" onclick="summera();"></td>
<td><%=prisexmoms%></td>
<td><%=prisinkmoms%></td>
<td><input type="text" name="<%=prodid%>antal" value="0" onChange="summera();"></td>
<td><input type="text" name="<%=prodid%>rabatt" value="0" onChange="summera();"></td>
<td><span id="<%prodid%>exmoms_delsum"></span></td>
<td><span id="<%prodid%>inkmoms_delsum"></span></td>
</tr>
<%
next
%>
<tr>
<td colspan="5">Totala summan:</td>
<td colspan="5">span id="<%prodid%>exmoms_tot"></span></td>
<td colspan="5">span id="<%prodid%>inkmoms_tot"></span></td>
</tr>

Javascriptet vill jag ska göra följande:

Function summera(){
   För varje checkbox med namn prodid som är markerad{
    c=checkboxvärde
    cexmoms_delsum=prisexmoms*antal*rabatt;
    cinkmoms_delsum=prisinkmoms*antal*rabatt;
    exmoms_tot=exmoms_tot+cexmoms_delsum;
    inkmoms_tot=inkmoms_tot+cinkmoms_delsum;
   }
}

Tänker jag rätt? Skulle vara tacksam för lite hjälp med javascriptet för att komma vidare.

NalosMedlem sedan juni 20113 inlägg
#2

Summering av checkboxvärden

Jag är en riktig nybörjare.
Nedanstående kod gör vad den skall förutom att jag vill
1. ha en ny ruta med summan av värden i checkboxarna
2. summan skall uppdateras med typ kommando "OnChange"

Tacksam för hjälp

<html>
<head>
<title>Summera</title>

<script>
function Sum()
{
var x=document.getElementsByTagName("input");
var sum = 0;
for(i = 0; i < x.length; i++)
{
if(x*.type == "checkbox" && x*.checked)
{
sum += parseInt(x*.value);
}
}
document.write(sum);
}
</script>
</head>
<body>

<p>Led  Längd<br>
110 <input type="checkbox" value="110" /> <br />
211 <input type="checkbox" value="211" /> <br />
312 <input type="checkbox" value="312" /> <br />
413 <input type="checkbox" value="413" /> <br />
<button onclick="Sum();">Summera</button>

</p>

</body>
</html>***

voigtann1Medlem sedan juni 20019 519 inlägg
#3

sätt sum metode på alla dina input med onchange och istället för att köra en document.write så skapa ett element med ett ID och sätt dess innerHTML till sum i din Sum() metod.

NalosMedlem sedan juni 20113 inlägg
#4

Som jag inledde så är jag totalt okunnig om "checkboxar"
Denna rad skall ändras enligt Ditt svar:
110 <input type="checkbox" value="110" /> <br />
Hur?
Skapa ett element är ännu mer oklart.
Vill Du vara hygglig och hjälpa mig ,med exakt syntax?
Hälsn
Björn

voigtann1Medlem sedan juni 20019 519 inlägg
#5

ett HTML-element med ett id har:

<div id="ett_id"></div>

Och sätt onchange Event på alla checkboxar du har:

<input type="checkbox" value="110" onchange="javascriptMetod" />

Sen skall ditt JS kod hitta ditt html-element som du vill presentera summan med

document.getElementById([b]"ett_id"[/b]).innerHTML = sum;

i din metod(funktion) där du har document.write (plocka bort det).

NalosMedlem sedan juni 20113 inlägg
#6

Som jag sagt tidigare kan jag ingenting om Java.
Jag vill kunna göra detta

1 checkbox
2 checkbox

Summa
Faktor
Totalt

Jag är klar t.o.m. "Summa" som fungerar som jag vill
Det jag inte klara är att mata in en faktor och automatiskt få "Totalt" uträknat.
Här koden så här långt
<html>
<head>
<meta http-equiv="Content-Language" content="sv">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title> Test </title>
<script>
var sum = 0;
function Sum(obj)
{
if(obj.checked)
sum += parseInt(obj.value);
else
sum -= parseInt(obj.value);
document.getElementById("sum").value = sum;
}
</script>
<style type="text/css">
input { text-align: right;}
</style>
</head>
<body>
1</font><font size="3"><input type="checkbox" value="360" onclick="Sum(this);" ></font><font size="2"><br>
2</font><font size="3"><input type="checkbox" value="720" onclick="Sum(this);" ></font><font size="2"></p>
Summa   <input type="text" id="sum" size="8" ><br>
Faktor      <input type="text" id="varde" size="8" name="faktor" /><br>
Totalt    <input type="text" value="" id="inkl" size="8" name="totalt"/>
</body>
</html>

Mycket tacksam för svar
Okunnig

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)