Avatar billede kledal Nybegynder
22. april 2004 - 10:22 Der er 16 kommentarer og
1 løsning

tælle hvor mange checkbokse der er afkrydset

<INPUT type=""checkbox"" id=""personid"" name=""personid"" value=""" & lngPersonid & """
class=""fieldchk""" onchange=""return vipcount();"">

har ovenstående checkbokse, de bliver udskrevet i en loop. en for hver bruger. Jeg skal lave et script der tæller hvor mange der er valgt. tallet skal stå nederst på siden i en boks, så hver gang man afkrydser 1 skal tallet i boksen nederst på siden stige med 1. og hver gang man fjerner en afkrydsning skal tallet falde med 1.
Håber dette er forståeligt nok.

kledal
Avatar billede nute Nybegynder
22. april 2004 - 10:37 #1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Untitled</title>
    <script language="JavaScript" type="text/javascript">
    <!--
    var g_intChecked = 0;
    function init()
    {
        var arrElements = document.forms['frm'].elements;
        for( i = 0; i < arrElements.length; i++ )
        {
            if( arrElements[ i ].type == "checkbox" )
            {
                if( arrElements[ i ].checked )
                {
                    g_intChecked++;
                }
            }
        }
        document.getElementById( 'spnTotal' ).innerText = g_intChecked;
    }
    function vipcount( objElement )
    {
        ( objElement.checked ) ? g_intChecked++ : g_intChecked--;
        document.getElementById( 'spnTotal' ).innerText = g_intChecked;
    }
    //-->
    </script>
</head>

<body onload="init();">
<form id="frm">
<INPUT type="checkbox" id="personid1" name="personid1" value="" onclick="vipcount( this );"><br>
<INPUT type="checkbox" id="personid2" name="personid2" value="" onclick="vipcount( this );"><br>
<INPUT type="checkbox" id="personid3" name="personid3" value="" onclick="vipcount( this );"><br>
<INPUT type="checkbox" id="personid4" name="personid4" value="" onclick="vipcount( this );"><br>
<INPUT type="checkbox" id="personid5" name="personid5" value="" onclick="vipcount( this );"><br>
<INPUT type="checkbox" id="personid6" name="personid6" value="" onclick="vipcount( this );">
</form>
antal valgte: <span id="spnTotal"></span>
</body>
</html>
Avatar billede expandingpixel Nybegynder
22. april 2004 - 10:37 #2
countObj = new Object;
countObj.curCount = 0;

function as(n){
    if(n.checked==true){
          countObj.curCount = countObj.curCount+1;
    }else
          countObj.curCount = countObj.curCount-1;     
}



<INPUT type=""checkbox"" id=""personid"" name=""personid"" value=""" & lngPersonid & """
class=""fieldchk""" onchange=""as(this);"">
Avatar billede expandingpixel Nybegynder
22. april 2004 - 10:37 #3
function as(n){
    if(n.checked==true){
          countObj.curCount = countObj.curCount+1;
    }else {
          countObj.curCount = countObj.curCount-1;     
    }
}
Avatar billede expandingpixel Nybegynder
22. april 2004 - 10:38 #4
onchange ville jeg lave om til onclick
Avatar billede expandingpixel Nybegynder
22. april 2004 - 10:38 #5
hvis du bruger min løsning
Avatar billede kledal Nybegynder
22. april 2004 - 11:50 #6
>expandingpixel
hvis du vil have points så svar. har brugt din løsning.
kledal
Avatar billede bamzen Nybegynder
22. april 2004 - 12:09 #7
og endnu kortere

function as(n){
    if(n.checked==true){
          countObj.curCount++;
    }else {
          countObj.curCount--;     
    }
}
Avatar billede grunken Nybegynder
22. april 2004 - 12:25 #8
og endnu mere :p

function as(n){
    if(n.checked){

og så lad være med at bruge onchange på en checkbox, det vil give problemer i nogle browsere, alt efter hvordan de håndterer dette!

brug istedet som nute skriver "onclick"

...
Avatar billede roenving Novice
22. april 2004 - 15:38 #9
function as(n){
    (n.checked)?countObj.curCount++:countObj.curCount--;     
}
Avatar billede roenving Novice
22. april 2004 - 15:39 #10
Eller:

function as(n){
    countObj.curCount+=(n.checked)?1:-1;     
}
Avatar billede nute Nybegynder
22. april 2004 - 15:40 #11
som jeg allerde har postet @ 22/04-2004 10:37:04

;o]
Avatar billede roenving Novice
22. april 2004 - 15:50 #12
Dvs. den kan koges sammen til:

<script type="text/javascript">var tael=0;</script>

<INPUT type=""checkbox"" id=""personid"" name=""personid"" value=""" & lngPersonid & """ class=""fieldchk""" onclick=""tael+=(this.checked)?1:-1;document.getElementById('spnTotal').innerHTML=tael;"">

...

antal valgte: <span id="spnTotal"></span>
Avatar billede bamzen Nybegynder
22. april 2004 - 16:12 #13
Nu leger du roenving ;-)
Avatar billede roenving Novice
22. april 2004 - 16:17 #14
Tjah, i hvert fald demonstrerer jeg min naturlige dovenskab !-)
Avatar billede kledal Nybegynder
01. juni 2004 - 18:40 #15
lukker spørgsmål
Avatar billede grunken Nybegynder
01. juni 2004 - 18:47 #16
hvofor?

du har fået ind til flere svar på dit spørgsmål, og tager derefter points selv ?
Avatar billede kledal Nybegynder
01. juni 2004 - 18:53 #17
vil gerne give points, men ingen svarer
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester