计时器延后执行任务
由于bsgridpage表单刚刚加载时数据还没有绑定便执行Sum()事件,所以利用计时器延后执行Sum()事件
注意: var time = setTimeout(Sum, 1000); sum事件不能加(),
否则Sum()事件会直接执行,导致计算器无效
setTimeout()事件只能执行一次
HTML
<table id="tbEndAccountInfor" class="table table-bordered">
<thead>
<tr style="background:#d2c9eb;">
<th w_num="total_line"> </th>
<th w_index="RoomNum">房号</th>
<th w_index="ClientName">姓名</th>
![](/qrcode.jpg)
<th w_index="EndAccountNum">账单号</th>
<th w_index="TrueWith">金额</th>
<th w_index="sDate">结账日期</th>
<th w_index="sTime">结账时间</th>
<th w_index="Operator">操作员</th>
<th w_index="TransferAccountType">结转类型</th>
</tr>
</thead>
</table>
<div class="btn-box">
<label class="control-label">合计金额:</label>
<label class="control-label" id="AreaSectionName">0</label>
</div>
Js
$(function () {
tbEndAccountInfor = $.fn.bsgrid.init('tbEndAccountInfor', {
url: 'URL',
autoLoad: false,//自动加载
stripeRows: true,//隔行变色
rowHoverColor: true,//划过行变色
displayBlankRows: false,//是否显示空白行, 默认值true
pageSize: 15,//分页大小, 如果设置值小于1则不分页且展示全部数据(即自动将pageAll设置为true), 默认值20
pageSizeSelect: true,// 是否显示分页大小选择下拉框, 配合参数pageSizeForGrid, 默认值false
pagingLittleToolbar: true,//是否显示精简的图标按钮分页工具条, 默认值false
event: {
customRowEvents: {
click: function (record, rowIndex, trObj, options) {
Check("#tbEndAccountInfor tr", rowIndex + 1, record);
}
}
}
});
searchEndAccount();
stime();
});
//1-5计时器事件
function Sum() {
var mo = 0;
var re = tbEndAccountInfor.getAllRecords();//获取表单所有记录值
for (var i = 0; i < re.length; i++) {//将所有值分段
mo += re[i].TrueWith;//叠加money
}
$("#AreaSectionName").text(mo);
}
如图: