Avatar billede cyberper Nybegynder
15. november 2013 - 10:17 Der er 6 kommentarer og
1 løsning

hente talværdier fra en DIV oversigt?

Jeg har lave denne js function fordi jeg ville lægge indtastninger sammen fra en oversigtliste jeg har lavet i et html dokument.
Men når jeg prøver at "hente" indtastningerne får jeg besked om hvilket object der er "et div object" eller at det er "NaN".

SÅ hvad overser jeg, er jeg tæt på eller "kigger jeg det forkerte sted hen"?

Nogen der kan hjælpe

mvh Jan


------------- JS funktion --------------------
function beregnTotalOmk(){
var doc = document.getElementById("listen");
var notes = null;
for (var i = 0; i < doc.childNodes.length; i++) {
    if (doc.childNodes[i].className == "colforbrug")
    {
      notes += parseInt(doc.childNodes[i].value);
      alert("total " + notes); 
    }
}
}



-------- OVERSIGTLISTE -------------------------
<div id="listen">
<script>

for (var i=0;i<apparatListe.length;i++)
{
document.write("
<div class='colnavn' title='clo'>" + apparatListe[i]+ "</div>");

document.write("
<div class='colforbrug'><input type='text'name='dagligTimeForbrug' value=''>timer</div>");

document.write("
<div class='colstandby'><input type='checkbox' name='standby' value=''>Ja</div>");

}

</script>

</div>
Avatar billede keysersoze Guru
15. november 2013 - 15:24 #1
var childeNode = doc.childNodes[i];
if (childeNode.className == 'colforbrug')
{
  notes += parseInt(childeNode.childNodes[0].value);
  alert("total " + notes); 
}

...måske - ellers må du prøve at at alerte din værdi inden du forsøger at parse den så du kan se hvad du reelt får fat i.
Avatar billede HBP2 Praktikant
17. november 2013 - 21:11 #2
Må jeg foreslå at du overvejer jquery, hvor du ville kunne have lavet hele summeringen med følgende:

var notes = 0;
$('div.colforbrug input').each(function() {
  notes += parseInt($(this).val());
} );
Avatar billede keysersoze Guru
17. november 2013 - 22:49 #3
medmindre det giver mening at bruge jQuery i andre sammenhænge på samme site vil jeg mene det er overkill at loade hele det bibliotek bare for det. Bare fordi jQuery er kommet gør det ikke klassisk JavaScript farligt at benytte.
Avatar billede HBP2 Praktikant
17. november 2013 - 23:03 #4
@keysersoze
1) "Klassisk javascript" er måske ikke farligt, men møgbesværligt, sammenlignet med alternativerne
2) jquery er så vist udbredt at det vel som regel er cachet i browseren fra et besøg på et andet site som bruger jquery, så der er nok sjældent noget mærkbart overhead ved at inkludere det
3) jo længere man udsætte at skifte til et ordentligt værktøj, jo mere tid spilder man
Avatar billede keysersoze Guru
17. november 2013 - 23:23 #5
Man bør efter min mening ikke begynde at bekymre sig om jQuery hvis man ingen forstand har på JavaScript - du får det desuden også til at lyde som om at jQuery ikke er JavaScript men sin helt egen teknologi.
Avatar billede cyberper Nybegynder
13. februar 2014 - 16:31 #6
tak
Avatar billede keysersoze Guru
13. februar 2014 - 16:40 #7
Jamen - selv tak. God fordeling af point.
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