javascript - 使用javascript动态添加只读输入框的总和

标签 javascript jquery html

我正在尝试计算所有输入框值的总和

<input class='total' type='number' name='total[]' readonly>

(它们是只读的,其值也是从另一个 javascript 计算函数获取的)。

我有这个jsFiddle

我使用以下 JavaScript 对只读输入框的所有值求和。好像不行。

var $form = $('#invEntry'),
    $sumDisplay = $('#totaldp');

$form.delegate('.total', 'change', function ()
{
    var $summands = $form.find('.total');
    var sum = 0;
    $summands.each(function ()
    {
        var value = Number($(this).val());
        if (!isNaN(value)) sum += value;
    });

    $sumDisplay.val(sum);
});

最佳答案

这是因为“change”事件仅在用户更改文本框中的值时才会引发,而不是在通过 DOM 操作进行更改时才会引发。您可以通过更新总文本框来触发计算。

 $("#InputsWrapper").on('change', '.discount',function(){
     var tr = $(this).closest('tr');
     var quantity=tr.find(".qty").val();
     var percent=tr.find(".discount").val();
     var price=tr.find(".price").val();
     var tprice = price * quantity
     var discountpercent=percent / 100;
     var discountprice=(tprice * discountpercent );

     tr.find(".total").val(tprice - discountprice);
     calculateTotals()
});

function calculateTotals()
{
    var $summands = $('#invEntry').find('.total');
    var sum = 0;
    $summands.each(function ()
    {
        var value = Number($(this).val());
        if (!isNaN(value)) sum += value;
    });

    $('#totaldp').val(sum);
}

关于javascript - 使用javascript动态添加只读输入框的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23758918/

相关文章:

css - 为什么我的按钮和链接不会自然地落在输入下方?

javascript - 单击其中的项目时 Div 向上滑动

JavaScript 仅打印数组的最后一个元素

javascript - Span 类未在模态窗口中关闭

javascript - Jquery动态列表项选择第一个过滤的搜索项

javascript - 如何在同一页面上单击两个不同的图像时显示一个相同的模态?

javascript - 尝试使用 toPrecision 时 toPrecision 不是函数

html - 为什么小空间不断出现在我的网页中?

html: iframe 缩放以适应除了顶行

javascript - Oauth2 - 获取访问 token ,服务器访问谷歌云平台