【问题标题】:sum values from inputs and selects in form输入的总和值并以形式选择
【发布时间】:2013-08-27 18:23:37
【问题描述】:

您好,我在 jquery 中寻找一个脚本来对输入的值求和并选择选项,我找到了这个脚本:

来源:jQuery checkbox and select - sum the values and add in var

演示:http://jsfiddle.net/H4d7W/

唯一的问题是我的表单包含多个输入和多个选择。

我在想这样的事情:

替换:

tot+=parseInt($('#more').val());
$('#usertotal').html(tot)
});

     $('#more').change(function(){
      $('input:checkbox').trigger('change');
     });

为:

tot+=parseInt($('select > option:selected'').val());
$('#usertotal').html(tot)
});

     $('select > option:selected'').change(function(){
      $('input:checkbox').trigger('change');
     });

关于如何编辑该代码来完成此操作的任何想法。

在下面的链接中,我创建了一个演示,第一个选择在输入之间求和。

JSFIDDLE 演示: http://jsfiddle.net/B9ufP/

【问题讨论】:

  • 这完全取决于 HTML 的结构。至少你的代码中不应该有语法错误。请发布您的 HTML 并创建一个 jsfiddle.net 演示。我也不清楚您是否有多个选择元素或多选元素。
  • 好的 @FelixKling 我已经创建了一个 DEMO 这里是链接:jsfiddle.net/B9ufP

标签: javascript jquery


【解决方案1】:

jQuery 还没有reduce 方法(目前),但它有each,您可以使用它来达到同样的效果。

var sum = 0;
$('select > option:selected').each(function() {
  sum += parseInt($(this).val(), 10);
});

【讨论】:

  • 是的,但是当它必须获得多个 INPUTS 和 SELECTS jsfiddle.net/B9ufP 时它将如何应用
  • 您可以将多个选择器传递给 jQuery,逗号分隔。即$('option:selected, input:checkbox:checked').each(...
【解决方案2】:

这是我一直在寻找的,感谢您的帮助:

var $total = $('#usertotal');
$('input,select').change(function () {
    var tot = 0;
    $('input:checkbox:checked, select > option:selected').each(function () {
        var per_op = $(this).attr('value');
        if (per_op) {       
        tot += Number(per_op);
        }
    });
    var final_result = tot.toFixed(2);
    $total.html(final_result)
});

演示: http://jsfiddle.net/zFCvV/6/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-14
    • 2016-03-08
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2018-06-13
    相关资源
    最近更新 更多