1

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

来源:jQuery 复选框和选择 - 对值求和并添加 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/

4

2 回答 2

1

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

var sum = 0;
$('select > option:selected').each(function() {
  sum += parseInt($(this).val(), 10);
});
于 2013-08-27T18:27:17.387 回答
0

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

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/

于 2013-08-27T22:56:49.987 回答