【问题标题】:Ajax Table Result Is Not Calculating Sum Of Each Row's Price ColumnAjax 表结果不计算每行价格列的总和
【发布时间】:2018-07-18 17:10:46
【问题描述】:

screenshot of sale page

大家好。我有一个销售页面和另一个页面,根据 ajax 帖子显示结果。我不知道您是否可以看到图像,但让我稍后解释一下。 页面左侧根据右侧的产品列表显示选择的产品列表,适用于ajax post。我单击右侧的产品按钮,AJAX 结果将产品带到左侧列表中,并显示产品名称、数量和价格。在这一步之前一切正常。 问题是当我选择一个产品并且涉及到销售列表时,我需要计算这个表的价格列的总和并显示在这个表之外的另一个 div-span 中。当我添加新产品时,我需要直播。现在它只显示产品列表中第一行的总和结果。不计算所有。 这是 sum 的脚本:

<script>
var $form = $('#satis_bitir'),
$sumDisplay = $('#ara_toplam');

$form.on('keyup', 'input', function ()
{
var $summands = $form.find('#toplam_tutar');
var sum = 0;
$summands.each(function ()
{
    var value = Number($(this).val());
    if (!isNaN(value)) sum += value;
});

$sumDisplay.val(sum.toFixed(2)); 
});
</script> 

那么我如何计算整个列表的价格列并显示在另一个 div->span 中?

【问题讨论】:

    标签: javascript ajax datatable


    【解决方案1】:
    var updateCartAmount = function(){
        var $form = $('#satis_bitir'),
        $sumDisplay = $('#ara_toplam');
    
        var $summands = $form.find('.toplam_tutar');
        var sum = 0;
        $summands.each(function ()
        {
          var value = Number($(this).val());
          if (!isNaN(value)) sum += value;
        });
        $sumDisplay.val(sum.toFixed(2)); 
    };
    
    
    $.ajax({
      type: 'GET',
      url: 'your-url',
      data: {},
      success: function(){
          updateCartAmount(); //call your updateCartAmount here when ajax done
      }
    });
    

    【讨论】:

    • 只需在每次发送 ajax 请求以添加任何新产品时调用 updateCartAmount。不再需要听键盘按键。
    • 完美.. 您的代码正在运行,只需要更改 updatedCartAmount();更新购物车金额(); :)) 非常感谢..
    【解决方案2】:

    而不是使用

    #toplam_tutar
    

    尝试使用

    .toplam_tutar
    

    元素 id 是唯一的,意味着只会选择第一个 div

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 2022-12-30
      • 2015-10-18
      • 1970-01-01
      • 2018-12-09
      • 2013-12-17
      • 1970-01-01
      相关资源
      最近更新 更多