Layui表格点击全选按钮获取数据进行回填计算

当你是通过获取选中行进行回填数据并计算时,你就会发现表头这个全选按钮是获取不到选中行的,所以它就不会再进行计算,虽然不会影响结算功能,但会影响到回填数据的计算。

如图所示:如果我一个个选中的话,他是能够计算的,但我点击了全选按钮它并没有帮我再计算(这里的数量应该是2才对的)。
在这里插入图片描述

所以,为了解决这个bug,我在这个按钮外层的div加了点击事件在表格的回调里,这样可以让它点击后获取的表格页面上的全部数据,给它加个条件判断这个全选按钮是否勾上,勾上就获取全部的数据,不勾反之。

tabTitles = layuiTable.render({
     elem: '#tabTitles',
     url: '/DayWorkManagement/FormerSell/selectTitlesInfor',
     where: { CommID: "", Discount: 0, VipID: 0 },
     cols: [[
	     { type: 'numbers', title: '序号', rowspan: 2, unresize: true, width: 50},
	     { type: 'checkbox', rowspan: 2 },
	     { field: 'CommID', title: '商品ID', hide: true, rowspan: 2 },
	     { field: 'MarMenyer', title:'吊牌价',width: 80, align: 'center', rowspan: 2 },
	     { title: '数量', align: 'center', colspan: 2 },
	     { field: 'MarketMeny',title:'销售价',width: 80, align: 'center',rowspan:2 },
	], [{ field: 'StockAmount', title: '库存数量',width: 90, align: 'center'},
	     { field: 'buynumber',title:'购买数量',width:90,align:'center',edit: true },
     ]],
     //数据渲染完的回调
     done: function (res) {
         SPcache = res.data;//获取到商品表页面的所有数据

 		$("[lay-id='tabTitles']").find("[data-field='1']").find("div").eq(0).click(function (data) {
            SPhaschecked = $("[lay-id='tabTitles']").find("[data-field='1']")
.eq(0).find("div").eq(1).hasClass("layui-form-checked");//选中的条件
            if (SPhaschecked == true) {
                console.log(SPhaschecked);
                //进入循环前让它的数据都为0
                var shoujia = 0;
                var yuanjia = 0;
                var shuliang = 0;
                for (var i = 0; i < SPcache.length; i++) {
                    shuliang += parseInt(SPcache[i].buynumber);
                    yuanjia += SPcache[i].MarMenyer * SPcache[i].buynumber;
                    shoujia += SPcache[i].MarketMeny * SPcache[i].buynumber;

                    $("#shoujia").val("售价:" + shoujia);
                    $("#yuanjiashuliang").val("数量:" + shuliang + " / " + "原价:" + yuanjia);
              	}
          	}
            else {
                shuliang = 0;
                yuanjia = 0;
                shoujia = 0;
              	$("#shoujia").val("售价:" + shoujia);
             	 $("#yuanjiashuliang").val("数量:" + shuliang + " / " + "原价:" + yuanjia);
         	}
      })
   },
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值