使用Jquery在项目开发过程中遇到的问题汇总--Tabs合并金额(一)

1.第一个问题可先由下图引出:


需求是要将表格中保单价格进行相加,是一个比较简单的需求,但是在开发的过程中遇到了以下的问题,作个笔记,以示警醒。

条件:合并开票的id为“combineButtons”,以下展示代码为保单价格相加的代码。

Invoice.SumTabsPrice = function (index) {
    var container = $("#tabContent" + index);
    var checkedRecords = $("input[name='invMergeCheck']:checked", container);
    var combineSum = 0;
    var sumStr = '';
    if (checkedRecords.length) {
      checkedRecords.each(function (i, item) {
        combineSum += Number($(item).attr('pricetag'));
      })
    }
    sumStr =$('#combineButton').text()+ '(' + combineSum + ')';//拿到拼接后的合并开票的内容
    $('#combineButton').text(sumStr); //将合并开票和金额进行拼接
  };

这是一开始写的一段代码是有问题的,原因是在每个tabs进行合并计算的时候,合并开票都会被拼接一次,这样一来就会出现“合并开票(xx)(xx)”的情况出现。修改后的代码

Invoice.SumTabsPrice = function (index) {
    var container = $("#tabContent" + index);
    var checkedRecords = $("input[name='invMergeCheck']:checked", container);
    var combineSum = 0;
    var sumStr = '';
    if (checkedRecords.length) {
      checkedRecords.each(function (i, item) {
        combineSum += Number($(item).attr('pricetag'));
      })
    }
    sumStr = '合并开票' + '(' + combineSum + ')';
    $('#combineButton').text(sumStr); //将合并开票和金额进行拼接
  };
修改后的代码里将合并开票写死,直接拼计算后的数值,就不会出现上述情况。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值