LayUI數據表格操作合計數值問題


上一篇講了合計行的小數問題,如果要求上面那列數據的平均數呢?

我找到了一種方法:

在后面的回調函數中:

<script>
layui.use('table', function(){
var table = layui.table;

table.render({
elem: '#test'
,url:'/demo/table/user/'
,cellMinWidth: 80 //全局定義常規單元格的最小寬度,layui 2.2.1 新增

,totalRow:true,//開啟合計行
,cols: [[
{field:'id', width:80, title: 'ID', sort: true, totalRowText: '合計行'}
,{field:'username', width:80, title: '用戶名'}
,{field:'sex', width:80, title: '性別', sort: true}
,{field:'city', width:80, title: '城市'}
,{field:'sign', title: '簽名', width: '30%', minWidth: 100} //minWidth:局部定義當前單元格的最小寬度,layui 2.2.1 新增
,{field:'experience', title: '積分', sort: true}
,{field:'score', title: '評分', sort: true,totalRow:true}
,{field:'classify', title: '職業'}
,{field:'wealth', width:137, title: '財富', sort: true}
]]

,done : function(res, curr, count){//數據渲染完的回調。

var rowNums=res.list.length;//獲取行數

var scoreTotal=this.elem.next().find('.layui-table-total td[data-field="score"] .layui-table-cell').text();//獲取“評分”合計行的合計結果
var scoreAvg=(scoreTotal/rowNums).toFixed(2).toString().concat('%');//計算平均分:總分除以行數,保留兩位小數
this.elem.next().find('.layui-table-total td[data-field="score"] .layui-table-cell').text(scoreAvg);//將計算結果復制給“評分”列的合計行

}

$('th').css({'background-color': '#ccdeff', 'color': 'black','font-weight':'bold'});
var that = this.elem.next();

//為該數據表格添加樣式,間隔行添加顏色
res.list.forEach(function (item, index) {
if (index%2==0) {
var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']").css("background-color", "#FFFFFF");
} else{
var tr = that.find(".layui-table-box tbody tr[data-index='" + index + "']").css("background-color", "#F4F6F9");
}
});

});
});
</script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM