我使用这个jquery脚本来查看一列中的数字总和(所有单元格, .iloscwarki 类)
$(document).ready(function(){
colSum();
});
function colSum() {
var sum=0;
//iterate through each input and add to sum
$('.iloscwarki').each(function() {
sum += parseInt($(this).text());
});
//change value of total
$('#warki2014').html(sum);
}
这个插件工作得非常好但是我有一个问题,当一些单元格为空时(它们只包含 .l ,没有任何数字)。如何编辑此jquery以将数字0添加到每个单元格,其中包含 iloscwarki 类,但不包含任何数字? 我在Wordpress中使用此脚本,此行生成类 iloscwarki
的单元格<td class="iloscwarki"><?php echo get_post_meta($post->ID, 'ilosc', true); ?> l.</td>
答案 0 :(得分:3)
如果我理解正确的问题,请尝试更改此行:
sum += parseInt($(this).text());
阅读
sum += $(this).text() != "l." ? parseInt( $(this).text() ) : 0;
如果有数字,则会添加数字,否则为0。
答案 1 :(得分:1)
如果你想忽略循环中不以整数开头的字符串,那只需要检查真实性(因为NaN
是假的而且0
不影响总和):
$('.iloscwarki').each(function() {
var value = parseInt($(this).text());
if (value) {
sum += value;
}
});
答案 2 :(得分:1)
我建议在将单元格值添加到总和之前在colSum()函数中执行此操作:
function colSum() {
var sum = 0;
//iterate through each input and add to sum
$('.iloscwarki').each(function() {
var $t = $(this);
if(! $t.text() ) $t.text('0');
sum += parseInt( $t.text() );
});
//change value of total
$('#warki2014').html(sum);
}