Javascript Datatables插件求和函数

Javascript Datatables插件求和函数,javascript,jquery,datatables,Javascript,Jquery,Datatables,我有一个带有一列复选框的数据表。当用户单击复选框时,将计算运行总数(总和) 每当我使用分页“分页”到另一个页面时,该表就会在dom中重新绘制。这意味着总和从0开始,而不是前几页上选中的任何复选框的总和 如何将总和保存在变量中,以便将其用作后续页面总和的起点 谢谢 代码 函数init_icheck(){ $(“#数据表输入[类型=复选框]).iCheck({ checkboxClass:'icheckbox_square-blue', 增加面积:“10%” }); } //选中“全额付款”复选框

我有一个带有一列复选框的数据表。当用户单击复选框时,将计算运行总数(总和)

每当我使用分页“分页”到另一个页面时,该表就会在dom中重新绘制。这意味着总和从0开始,而不是前几页上选中的任何复选框的总和

如何将总和保存在变量中,以便将其用作后续页面总和的起点

谢谢

代码

函数init_icheck(){
$(“#数据表输入[类型=复选框]).iCheck({
checkboxClass:'icheckbox_square-blue',
增加面积:“10%”
});
}
//选中“全额付款”复选框后,用发票到期金额填写“支付此时间”字段
函数paynow(){
var payFull=$('input[type=“checkbox”].payFull');
在('ifChecked',函数(事件)上的payFull.on{
$(this).parents('tr').find('.paynow').val($(this.val().replace('$,''));
计算();
});
}
//如果未选中“全额付款”,则从相应的“本次付款”输入中删除值
//仅在选中复选框时绑定ifUnchecked事件
函数删除\u复选框(){
var payFull=$('input[type=“checkbox”].payFull');
payFull.on('ifUnchecked',函数(事件){
if($(this.parents('tr').find('.paynow').val()==$(this.val().replace('$,''){
$(this.parents('tr').find('.paynow').val('');
计算();
}
});
}
//如果此次付款发生变化,请重新计算总额
函数recalc_total(){
$('.paynow').keyup(函数(){
var$ThisCheck=$(this.parents('tr').find('.payfull');
//如果#超过1000,则添加逗号
$(this.val)(addCommas($(this.val()));
如果($(this.val()==$ThisCheck.val().replace('$',''){
$ThisCheck.iCheck('check');
}否则{
$ThisCheck.iCheck('uncheck');
}
计算();
});
}
//Recalc函数
函数计算(){
var总和=0;
$('.paynow')。每个(函数(索引,Obj){
var value=parseFloat($(this).val().replace(',','');
如果(!isNaN(值))和+=值;
});
$('#amounttopay').text('$'+Sum.toFixed(2).替换(/\B(?=(:\d{3})+((?!\d))/g',);
}
//如果值>1000,则添加逗号
addCommas=函数(输入){
//如果正则表达式不匹配,`replace`返回未修改的字符串
返回(input.toString())。替换(
//此正则表达式中的每个括号组(或“捕获”)都成为一个参数
//对于函数;在本例中,“匹配”之后的每个参数
/^([-+])(0?)(\d+)(\d+)(\d+)$/g,
函数(匹配、符号、零、前、小数、后){
//比在所有字符串上添加“reverse”方法更不显眼
var reverseString=函数(字符串){
返回字符串.split(“”).reverse().join(“”);
};
//从右起每隔三个字符插入逗号
var insertCommas=函数(字符串){
//相反,因为从左边做事情比较容易
var反向=反向限制(字符串);
//每三个字符添加一个逗号
var reversedWithCommas=reversed.match(/.{1,3}/g).join(',');
//再次反转(恢复正常)
返回反向限制(使用逗号反向限制);
};
//如果没有小数点,则最后一次捕获将获取最后一个数字,因此
//我们必须将它与“before”子字符串放回一起
返回符号+(十进制?插入命令(前)+十进制+后:插入命令(前+后));
}
);
};
//计算并更新此时间显示的付款
计算();
//初始化数据表
$('#datatable')。datatable({
“国家拯救”:没错,
“语言”:{
“sSearch”:“搜索结果:”
},
“初始化完成”:功能(设置){
init_icheck();
paynow();
删除_复选框();
重新计算总数();
}
});
//在分页更改时重新初始化iCheck
$('#datatable')。on('draw.dt',function(){
init_icheck();
paynow();
重新计算总数();
删除_复选框();
});
$('#datatable')。on('page.dt',function(){
警报(“测试”);
});
/*iCheck插件方形皮肤,蓝色
----------------------------------- */
.icheckbox_方形蓝色,
.iradio_square-blue{
显示:内联块;
*显示:内联;
垂直对齐:中间对齐;
保证金:0;
填充:0;
宽度:22px;
高度:22px;
背景:url(https://cdnjs.cloudflare.com/ajax/libs/iCheck/1.0.1/skins/square/blue.png)不重复;
边界:无;
光标:指针;
}
.icheckbox_方形蓝色{
背景位置:0;
}
.icheckbox_方形-蓝色。悬停{
背景位置:-24px 0;
}
.icheckbox_方形-蓝色。选中{
背景位置:-48px 0;
}
.icheckbox_方形-蓝色。已禁用{
背景位置:-72px 0;
游标:默认值;
}
.icheckbox_square-blue.checked.disabled{
背景位置:-96px 0;
}
.iradio_square-blue{
背景位置:-120px 0;
}
.iradio_square-blue.hover{
背景位置:-144px 0;
}
.iradio_方形-蓝色。方格{
背景位置:-168px 0;
}
.iradio_square-blue.disabled{
背景位置:-192px 0;
游标:默认值;
}
.iradio_square-blue.checked.disabled{
背景位置:-216px 0;
}
/*视网膜支持*/
@仅媒体屏幕和(-webkit最小设备像素比:1.5),
仅屏幕和(-moz最小设备像素比:1.5),
仅屏幕和(-o-min-device-pixel-ratio:3/2),
仅屏幕和(最小设备像素比:1.5){
.icheckbox_方形蓝色,
.iradio_square-blue{
背景图片:url(blue@2x.png);
-webkit背景尺寸:240px 24px;
背景尺寸:240px 24px;
}
}

全额支付
这次付钱
$0.00
$
109.92
$
6.65
$
16.65
$
109.92
$
6.65