如何获取合并后的值

提问 已结
18 171
花季岁月
花季岁月 2018-9-13
悬赏:20飞吻
版本:layui 2.4.3 浏览器:谷歌/火狐

最新版本的合并 能否在显示表格之前将合并值重新处理后显示,比如 213/2=106 将106显示出来
回帖
  • @花季岁月 弄好了





    , done: function () {
    var tableView = this.elem.next();
    var totalRow = tableView.find('.layui-table-total');
    var limit = this.page ? this.page.limit : this.limit;
    layui.each(totalRow.find('td'), function (index, tdElem) {
    tdElem = $(tdElem);
    var text = tdElem.text();
    if (text && !isNaN(text)) {
    text = (parseFloat(text)/limit).toFixed(2);
    tdElem.find('div.layui-table-cell').html(text);
    }
    });

    }
    0 回复
  • @花季岁月 当然可以,你看下td里面的属性,实际上每个td会保存当前的field,所以你知道找到你想要改变的列的field就可以了
    1 回复
  • 0 回复
  • 很怪异的需求,目前不支持totalFormat之类的,纯是table组件内部求和的,要将求和的总值/2显示这个很神奇,不过方法是有的,需要在done回调里面找到这个字段div.layui-table-total td[data-field="积分"]里面的值自己算出来最终要显示的内容替换进去。
    0 回复
  • @岁月小偷 其实这个需求不怪异,比如求成绩的平均分 你下面显示的值就得是总分/本页的条数了
    0 回复
  • @花季岁月 嗯嗯,就是说要的不是一个单纯的求和列,而是一个统计列,这个支持范围就更广了平均最大最小啥的,目前还没有达到那么强大的设置,可以在done回调里面做处理将就一下。
    0 回复
  • @岁月小偷 能否就这个问题帮忙处理下 谢谢
    0 回复
  • @花季岁月 你说的是?在done里面处理的还是?在done里面处理的话稍等一下我写个简单的例子给你看看可行不,如果是要让totalRow这个支持其他类型的计算这个估计需要花些时间精力才能搞定额。
    0 回复
  • @岁月小偷 嗯嗯 救急的方法先给我造一个出来 谢谢了哈
    0 回复
  • @岁月小偷 在done 里面处理数据后 填到相应的位置
    0 回复
  • @岁月小偷 非常感谢
    0 回复
  • @花季岁月 不客气[微笑] ,这个只是一种方式,还可以自己遍历当前缓存中的数据中的这个字段去计算或者统计,当时大部分思路是一样的,得到最终想要的值给替换一下就可以了。
    0 回复
  • @岁月小偷 还有个问题 可以指定哪一列计算后替换吗 现在你是所有的td都替换了 比如我现在只要替换积分的列 后面那个不替换可以做到吗
    0 回复
  • @岁月小偷 thank you 可以了
    0 回复
  • @花季岁月 不客气[微笑]
    0 回复
  • @岁月小偷 https://fly.layui.com/jie/33773/ 这个问题顺便帮我看看有没有什么解决办法
    0 回复
  • @岁月小偷 你好 根据field查找的能帮我下写下吗?谢谢
    0 回复
  • @岁月小偷 不用了 突然间想到了 写出来了
    0 回复