所选复选框的值

时间:2012-01-21 11:51:38

标签: javascript checkbox nodevalue nextsibling

我试图找到复选框值的总和(23.75和142.75)

Poaten

Checkbox1: 2012-01-17, Porti, 1.760, 23.75
Checkbox2: 2012-01-17, Kopien, 10.560, 142.55
Checkbox3: 2012-01-17, Honorar, 33.600, 453.60
Checkbox4: 2012-01-17, Telefon, 0.640, 8.65

输出位于“Restbetrag”中。我使用了以下函数,但是我收到了“Posten”中所选复选框项的主键值的总和。 在posten中,我看到每个复选框的四个值,用逗号分隔。我应该从哪里开始获得每个单击复选框的第4个值(23.75,142.55 ...)?您能否建议在哪里找到类似的解决方案? 谢谢 mpol

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;                      
}

2 个答案:

答案 0 :(得分:1)

不确定这是否是你要找的......

if (elements[i].checked) {
   var myarr = elements[i].value.split(",");
   sum += parseFloat(myarr[3]);
}

答案 1 :(得分:0)

我解决了我的问题。感谢您的支持。这里是解决方案的代码。 问候 mpol_ch

function showTotal() {
    document.frechnungenadd.x_Summe.value = ''; 
    document.frechnungenadd.x_MwSt.value = '';
    //document.write("test");
    var Summe = 0;
    var MwSt = 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(",");
     MwSt = MwSt+ + parseFloat(splitted[2]); 
     Summe = Summe+ + parseFloat(splitted[3]);                                                                 
  }                                        
}                                                     
    document.frechnungenadd.x_MwSt.value = MwSt.toFixed(2);                                     
    document.frechnungenadd.x_Summe.value = Summe.toFixed(2);                      
}  
setInterval('showTotal()',1000);