webForumDet fria alternativet

Lägga till från början

7 svar · 455 visningar · startad av mats47

mats47Medlem sedan mars 2009185 inlägg
#1

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);>
voigtann1Medlem sedan juni 20019 519 inlägg
#2

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
#3

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>***

voigtann1Medlem sedan juni 20019 519 inlägg
#4

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
#5

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>

voigtann1Medlem sedan juni 20019 519 inlägg
#6

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
#7

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

voigtann1Medlem sedan juni 20019 519 inlägg
#8

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.

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