我有一个订单,我可以通过点击一个按钮来添加字段。我有一些后端JavaScript运行的订单价格总额,但总脚本是逃避我。
我的问题是,我需要的脚本搜索整个DOM,并找到有多少有一个ID匹配以下模式。
Totprice01 totprice02 totprice03 totprice(n)
我一直在玩这个RegExp,但恐怕运气不好:
matchStr = new RegExp("\\btotprice\\d{2}\\b", "gi");
一旦我得到了所有HTML ID的数组,我需要将它们传递到一个函数中,到目前为止看起来像这样-注意它都是硬编码的,而不是动态的:
document.getElementById('totpricetot').value = Math.round((parseFloat(document.getElementById('totprice1').value)+parseFloat(document.getElementById('totprice2').value)+parseFloat(document.getElementById('totprice3').value)+parseFloat(document.getElementById('totprice4').value)+parseFloat(document.getElementById('totprice5').value)+parseFloat(document.getElementById('totprice6').value)+parseFloat(document.getElementById('totprice7').value)+parseFloat(document.getElementById('totprice8').value)+parseFloat(document.getElementById('totprice9').value)+parseFloat(document.getElementById('totprice10').value))*100)/100;
如何将这个表达式+函数返回所有值的总和到<input id="totpricetot">
中?
6条答案
按热度按时间brqmpdu11#
我喜欢SO上每个JavaScript问题的答案都是“使用jQuery”.
无论如何,你也可以用普通的JavaScript来做:
然后创建一个函数来循环遍历数组并求和(:
velaa5lx2#
有很多解决方案。除了给所有有问题的元素提供相同的类名并使用jQuery(或类似的东西)之外,您还可以简单地记住某个JavaScript变量中元素的总数。有可能吗?我知道-这是一种老派的解决办法。您没有表明您正在使用jQuery或任何其他JavaScript库,因此它可能更适合您。
**编辑:**只是为了更明确:
pqwbnv8z3#
使用jQuery,你可以像这样选择和求和元素:
8cdiaqws4#
给予对一个类求和所需的输入,然后通过类名获取这些输入(jQuery或其他框架在这里会派上用场)。
如果你使用jQuery,你可以这样做:
nafvub8i5#
您可以给予所有总价元素相同的CSS类,然后获取该类的所有元素(使用JQuery很方便)。
jmo0nnb36#
给予每个元素一个类并使用jQuery。