Den Wert des ausgewählten Checkboxes ermitteln

Pol

Mitglied
Hallo

Ich versuche die Summe des 4. Wertes eines ausgewählten Checkboxes zu haben. Leider kriege ich mit dem folgenden Funktion nur die Summer des Primary-Keys.


Wie soll ich vorgehen? Wo finde ich ein ähnliches Beispiel?
Ich möchte aber die Summer der Werte nach dritten Komms (23.75, 142,55..) haben (Bitte siehe angehängtem Bild).
Das Resultat der Summer wird im Bereich Restbetrag ausgegeben.
Danke für jeden Hinweis.
Pol
Code:
function showTotal() {
   document.frechnungenadd.x_Restbetrag.value = '';
   //document.write("test");
   var sum = 0;

   var elements = document.getElementsByName("x_Posten[]");
   for (i=0;i < elements.length;i++) {
      if (elements[i].checked) {
         sum = sum + +elements[i].value;
      }
   }                                                     
   document.frechnungenadd.x_Restbetrag.value = sum;                      
}
 

Anhänge

  • image_checkbox.png
    image_checkbox.png
    6,5 KB · Aufrufe: 6
Zuletzt bearbeitet von einem Moderator:
Du holst Dir den Value der angewählten Checkboxes und zerteilst jene Value mit .split(). Im Ergebnis, einem Array, holst Du Dir den 4. Wert, wandelst den in eine Zahl um und addierst.

(ist da ein + zuviel?)
Code:
var splitted

for (i=0;i < elements.length;i++) {
      if (elements[i].checked) {
         splitted = elements[i].value.split(",");
         sum = sum + parseFloat(splitted[3]);
      }
   }

mfg chmee
 
Hallo Chmee

Danke für die Antwort. Lieder funktioniert es nicht. Ich erhalte wieder nur den Wert für
sum = sum + parseFloat(splitted[0]);

Wenn ich hier sum = sum + parseFloat(splitted[3]); verwende dann erhalte ich "NaN

Beiliegend ist noch die xxx.php-Date

Danke.
 

Anhänge

Hallo chmee

Danke für deine Unterstützung. Ich habe gerade jetzt die Lösung wie folgt gefunden:

Code:
function showTotal() {
        document.frechnungenadd.x_Restbetrag.value = '';
        //document.write("test");
        var sum = 0;
        var splitted    

        var elements = document.getElementsByName("x_Posten[]");     
for (i=0;i < elements.length;i++) {
      if (elements[i].checked) {
         splitted = elements[i].nextSibling.nodeValue.split(",");
         sum = sum + parseFloat(splitted[3]);         
                                                         
      }                                        
    }                                                     
                                             
        document.frechnungenadd.x_Restbetrag.value = sum;                      
    }

mpol_ch
 
Zuletzt bearbeitet von einem Moderator:
Ah, gut, also lag es eher an der DOM und dem falsch ausgewählten Knoten/Element. Eigentlich logisch, die Checkbox trägt nicht unbedingt die Information (value).. Ich wär auf Anhieb auch nicht darauf gekommen, erst nach Sichtung der dom. Ich hab nämlich ein Beispiel aufgebaut, um zu sehen, ob es auch ohne trim() funktioniert. http://jsfiddle.net/h62SC/

mfg chmee
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück