mats47Medlem sedan mars 2009185 inlägg Jag har ca 14 checkboxar med olika värden. Med en javasript har jag en räknare som summerar värden av checkboxar. tar till värden och tar bort vid onclick.
Nu kommer det svåra
när kunden kommer till sidan kan några va checkade och låsta redan (info från asp). Men då fungerar inte räknaren.
<script>
//Visa summa av paketen
var sum = 0;
function Sum(obj)
{
if(obj.checked)
sum += parseInt(obj.value);
else
sum -= parseInt(obj.value);
document.getElementById("sum").innerText = sum;
}
</script>
<input type=checkbox name="val 3" value="128" onclick=Sum(this);>
Total: <span class="sum" id="sum">0</span> kr
´
Och en lås checkbox
<input type=checkbox checked disabledname="val 3" value="128" onclick=Sum(this);>
Fungera:
function count(obj)
{
var ch = document.getElementsByName(obj.name);
var sum = 0;
for(var i=0;i<ch.length;i++)
{
if(!ch[i].disabled && ch[i].checked)
{
sum+= parseInt(ch[i].value);
}
}
document.getElementById("sum").innerHTML = sum;
}
<input type="checkbox" name="v" value="18" onclick="count(this)" />
<input type="checkbox" name="v" value="254" onclick="count(this)" />
<input type="checkbox" name="v" value="2" onclick="count(this)" />
<input type="checkbox" name="v" value="80" onclick="count(this)" />
<input type="checkbox" name="v" value="1" disabled="disabled" "/>
Total: <span class="sum" id="sum">0</span> kr
Som du vill?
mats47Medlem sedan mars 2009185 inlägg Får det inte att fungera
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" language="JavaScript">
function count(obj)
{
var ch = document.getElementsByName(obj.name);
var sum = 0;
for(var i=0;i<ch.length;i++)
{
if(!ch*.disabled && ch*.checked)
{
sum+= parseInt(ch*.value);
}
}
document.getElementById("sum").innerHTML = sum;
}
</script>
</head>
<body>
\<input type="checkbox" name="v" value="18" onclick="count(this)" /\>
\<input type="checkbox" name="v" value="254" onclick="count(this)" /\>
\<input type="checkbox" name="v" value="2" onclick="count(this)" /\>
\<input type="checkbox" name="v" value="80" onclick="count(this)" /\>
\<input type="checkbox" name="v" value="1" disabled="disabled" "/\>
Total: \<span class="sum" id="sum"\>0\</span\> kr
</body>
</html>***
fungera för mig (Firefox + IE7)
Demo:
http://voigt.se/sandbox/wf/checkbox/
Eller vill du att den skall även ta med de som är disabled fast checked?
Om du även vill ha med värden från disabled + checked så ta bara bort:
!ch*.disabled && ifrån if frågan.*
mats47Medlem sedan mars 2009185 inlägg ja den ska checkedoch disabled
Kan man lägga till summa i sum på samma utskrift rad?
sum= är den röliga summan
summa= är den fasta summan, från asp
Total: <span class="sum" id="sum"><%=summa%></span>
Plocka bort:
!ch[i].disabled &&
ifrån if frågan. har uppdaterat koden på demo sidan (dock så kör jag inte någon ASP på sidan så summan uppdateras först när du har tryckt på någon av checkboxarna (den bli aldrig lägre än 20 då sista checkboxen är markerad men disabled).
mats47Medlem sedan mars 2009185 inlägg Jag kom på det
<script type="text/javascript">
sum+= <%=summa%>
document.getElementById("sum").innerHTML = sum;
</script>
Total: <span class="sum" id="sum"><%=summa%></span> kr
Tycker du gör det svårare än vad det egentligen är. Du har priset i en ASP variabel redan. När du trycker igenom så kolla den alla värden som checkbox som är ikryssade med ett specifikt namn.