【问题标题】:Value of selected checkbox选中复选框的值
【发布时间】:2012-01-21 11:51:38
【问题描述】:

我正在尝试查找复选框值的总和(23.75 和 142.75)

波顿

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 中,我看到每个复选框的四个值,用逗号分隔。我应该从哪里开始获得每个单击复选框的第四个值(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;                      
}

【问题讨论】:

  • 请发布相关的 HTML 标记。描述太混乱,无法猜测应该做什么。您似乎在将复选框元素的 value 属性的值相加,但您做什么?
  • sum = sum + +elements[i].value; 应该是 sum += elements[i].value;
  • sum=sum+something 仍然有效。这不是错误,只是没有那么优雅
  • 谢谢。不幸的是,我无法提交代码。我得等几个小时..

标签: javascript checkbox nodevalue nextsibling


【解决方案1】:

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

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

【讨论】:

  • 你好彼得 G。谢谢。但它没有帮助。我将插入表单代码。请看代码。
【解决方案2】:

我解决了我的问题。感谢您的支持。这是您的解决方案代码。 问候 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); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 2012-07-20
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多