gpt4 book ai didi

javascript - 如何在 Javascript 或 JQuery 中对非空 元素的值求和

转载 作者:行者123 更新时间:2023-11-27 23:23:56 25 4
gpt4 key购买 nike

我正在尝试对 <td> 中的所有 html 求和名称为“gross_val”的元素。我有关注 <td>元素:

<tr><td name="gross_val" align="right" title="gross_val1" ></td></tr>
<tr><td name="gross_val" align="right" title="gross_val2" ></td></tr>
<tr><td name="gross_val" align="right" title="gross_val3" ></td></tr>
<tr><td name="gross_val" align="right" title="gross_val4" ></td></tr>
<tr><td name="gross_val" align="right" title="gross_val5" ></td></tr>

所有这些 <td>元素已动态填充其中的值。其中一些<td>元素的 总值<tr>它们在里面,其中一些还没有被填充。我只想总结那些 <td>已填充毛总值的元素。然后在另一个 <td> 中显示该值元素。

我为此编写了以下 JQuery 和 Javascript:

    function computeGrossValTotal() {
var x = $("td[name='gross_val']");
var gValues = [];
$(x).each(function(index) {
// this line takes up the raw html inside of that td element
var valc = $(this).html();
// this line strips all the currency and other characters and symbols
// off the 'valc' variable and makes it in an integer format
var val = Number(WC(valc));
if (val) {
gValues.push(val);
}
});
// this line adds the values inside of gValues array
sum = Number(gValues.reduce(add, 0));
alert(sum);
}
$(document).on("keyup", function() {
computeGrossValTotal();
});
function WC(x) { return Number(x.match(/(?:\d+|\.)/g).join("")); }
function add(a, b) {return a + b;}

我面临的问题是 sum 不会发出警报,除非所有 <td>元素内部有一些 html。我无法从等式中删除空的 td 元素。请有人指导我如何只对 <td> 求和内部具有一定值(value)的元素。

最佳答案

WC 需要检查 x.match() 是否找到了某些东西,因此它不会在 null< 上调用 join/.

function WC(x) {
var nums = x.match(/(?:\d+|\.)/g);
if (nums) {
return Number(nums.join(''));
} else {
return null;
}
}

关于javascript - 如何在 Javascript 或 JQuery 中对非空 <td> 元素的值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39563329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com