Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何对具有动态id的字段中的值求和?_Javascript_Wordpress_Sum_Advanced Custom Fields - Fatal编程技术网

Javascript 如何对具有动态id的字段中的值求和?

Javascript 如何对具有动态id的字段中的值求和?,javascript,wordpress,sum,advanced-custom-fields,Javascript,Wordpress,Sum,Advanced Custom Fields,我需要对表单的字段求和。字段ID是动态的。我需要在第三个字段中显示求和的结果。我想知道如何在PHP或JS中实现这一点 <input type="number" id="acf-field_5a7cb1f6601f3-1-field_5a7cb278601f8" class="" min="0" max="99999" step="any" name="acf[field_5a7cb1f6601f3][1][field_5a7cb278601f8]" value="10" placehold

我需要对表单的字段求和。字段ID是动态的。我需要在第三个字段中显示求和的结果。我想知道如何在PHP或JS中实现这一点

<input type="number" id="acf-field_5a7cb1f6601f3-1-field_5a7cb278601f8" class="" min="0" max="99999" step="any" name="acf[field_5a7cb1f6601f3][1][field_5a7cb278601f8]" value="10" placeholder="">
<input type="number" id="acf-field_5a7cb1f6601f3-2-field_5a7cb278601f8" class="" min="0" max="99999" step="any" name="acf[field_5a7cb1f6601f3][2][field_5a7cb278601f8]" value="12" placeholder="">
<input type="number" id="acf-field_5a7cb1f6601f3-3-field_5a7cb278601f8" class="" min="0" max="99999" step="any" name="acf[field_5a7cb1f6601f3][3][field_5a7cb278601f8]" value="25" placeholder="">

我编辑以明确我需要什么:

让总数=0;
document.querySelectorAll('input[type=“number”]”)forEach(el=>total+=+el.value);
document.querySelector(“#total”).value=total;
控制台日志(总计)


总数:
使用JQuery(在我看来,为了避免兼容性问题,您应该这样做),这将对所有数字输入的值求和。您可能希望在将来进一步限制这一点。纯JS解决方案如下:

var sum = 0;        
document.querySelectorAll("input[type=number]").forEach(function() {
  if(!isNaN(this.value) && this.value.length!=0) 
  {
    sum += parseFloat(this.value);            
  }    
});

你的意思是对字段求和还是对字段的值求和?@null对字段的值求和fields@Ele是的,它们是动态的,因为OP没有要求回答有关jQuery的问题,而您的意见与此无关。@J.Z-我更新了代码段。如果您现在运行它,您将看到总数被放入一个输入元素中。它起作用了。但保存时不会将值存储在字段=([Complete Code]()@J.Z-这是因为禁用的表单字段不会随表单一起提交。您有三个选择:1.始终启用它(它将是可编辑的);2.在通过JavaScript提交表单之前启用它;3.启用它并将类型更改为隐藏(用户将看不到,但将提交)。Casbum-在字段中键入数字时,如何实时显示结果?您能帮助我吗?
var sum = 0;        
document.querySelectorAll("input[type=number]").forEach(function() {
  if(!isNaN(this.value) && this.value.length!=0) 
  {
    sum += parseFloat(this.value);            
  }    
});