/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Find sum af værdier i et dynamisk antal
Fra : Brian Bendtsen


Dato : 21-12-08 19:00

Hej

Jeg vil gerne finde summen af værdier indtastet i et dynamisk antal
input felter.

fx

<input type="input" id="felt1" class="felt"/>
<input type="input" id="felt2" class="felt"/>
....
....
<input type="input" id="felt30" class="felt"/>

Nogen gode ideer?

/BB

 
 
Philip Nunnegaard (21-12-2008)
Kommentar
Fra : Philip Nunnegaard


Dato : 21-12-08 21:06

"Brian Bendtsen" <bb@bellevuevej.dk> skrev

> Jeg vil gerne finde summen af værdier indtastet i et dynamisk antal input
> felter.
>
> fx
>
> <input type="input" id="felt1" class="felt"/>
> <input type="input" id="felt2" class="felt"/>
> ...
> ...
> <input type="input" id="felt30" class="felt"/>

Jeg går ud fra at du vil have udregningen foretaget, så snart du forlader et
felt.
I så fald ville jeg indsætte en onchange i hvert input-felt:

<input type="input" id="felt1" class="felt" onchange="beregnsum()"/>

Sum-feltet:
<span id="sumfelt">0</span> (eller input i stedet for span, hvis det _skal_
være et input-felt).

Javascriptet ville blive noget i denne dur (ikke afprøvet):

function beregnsum() {
document.getElementById('sumfelt').value =
document.getElementById('felt1').value +
document.getElementById('felt2').value + ... osv.
}

Dynamisk...
Så roder jeg mig lige ud noget mere pseudokode:

function beregnsum() {
for(i=1; i <= antalfelter; i++) {
document.getElementById('sumfelt').value +=
document.getElementById('felt'+i).value;
}
}


Brian Bendtsen (22-12-2008)
Kommentar
Fra : Brian Bendtsen


Dato : 22-12-08 00:08

Philip Nunnegaard skrev:
> "Brian Bendtsen" <bb@bellevuevej.dk> skrev
>
>> Jeg vil gerne finde summen af værdier indtastet i et dynamisk antal
>> input felter.
>>
>> fx
>>
>> <input type="input" id="felt1" class="felt"/>
>> <input type="input" id="felt2" class="felt"/>
>> ...
>> ...
>> <input type="input" id="felt30" class="felt"/>
>
> Jeg går ud fra at du vil have udregningen foretaget, så snart du
> forlader et felt.
> I så fald ville jeg indsætte en onchange i hvert input-felt:
>
> <input type="input" id="felt1" class="felt" onchange="beregnsum()"/>
>
> Sum-feltet:
> <span id="sumfelt">0</span> (eller input i stedet for span, hvis det
> _skal_ være et input-felt).
>
> Javascriptet ville blive noget i denne dur (ikke afprøvet):
>
> function beregnsum() {
> document.getElementById('sumfelt').value =
> document.getElementById('felt1').value +
> document.getElementById('felt2').value + ... osv.
> }
>
> Dynamisk...
> Så roder jeg mig lige ud noget mere pseudokode:
>
> function beregnsum() {
> for(i=1; i <= antalfelter; i++) {
> document.getElementById('sumfelt').value +=
> document.getElementById('felt'+i).value;
> }
> }
Hej

Det ser fornuftigt ud, men jeg mangler en metode til at finde ud af hvor
mange felter jeg har og der vil fx ikke altid være et felt "felt1" men
måske et felt4 og et felt7 og så vil jeg nok få en del javascriptfejl.

Det ser måske underligt ud, når man ikke kender baggrunden for det, så
her en lille forklaring.

Hvert felt genereres pga. af en vare der oprettes i et adminsystem og
hver vare har et unikt id. De første varer vil generere felterne felt1,
felt2 osv. Men så snart der slettes nogle varer og tilføjes nye kommer
det til at se anderledes ud, fx felt2, felt3 osv.

Kan man tælle antal af felter der har samme class tilknyttet?

Nogen ideer?

/BB

Anders Wegge Keller (22-12-2008)
Kommentar
Fra : Anders Wegge Keller


Dato : 22-12-08 00:34

Brian Bendtsen <bb@bellevuevej.dk> writes:

...

> Kan man tælle antal af felter der har samme class tilknyttet?
>
> Nogen ideer?

var re = new RegExp("(^| )" + <<klasse>> + "( |$)");
foo = getElementsByTagName("input");

for (i = 0; i < foo.length; i++) {
if (re.test(foo[i].className)) {
// Din kode her
}
}

Ganske utestet, så du skal nok forvente at det er en ide, snarere end
noget brugbar kode.

--
/Wegge

Stig Johansen (22-12-2008)
Kommentar
Fra : Stig Johansen


Dato : 22-12-08 07:07

Anders Wegge Keller wrote:

> Ganske utestet, så du skal nok forvente at det er en ide, snarere end
> noget brugbar kode.

En anden ide kunne være at kigge på XPath.
Det burde kunne give en pænere, hurtigere og mere læsbar kode.

Men det er kun en ide, da jeg ikke er sikker på understøttelse i diverse
browsere (qud over IE).

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste