我有不同的选择,其中包含不同的值。如何获得这些值的总数?
例如我有
<select class="total">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<select class="total">
<option>2</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
如果我从第一个选择1
和第二个2
中选择,我希望得到3
作为结果。
答案 0 :(得分:4)
$(document).ready(function () {
$('.total').on('change', function () {
var sum = 0;
$('.total').each(function () {
sum += parseInt(this.value, 10);
});
alert(sum);
});
});
答案 1 :(得分:4)
以防万一,一个vanilla-js解决方案
var map = Array.prototype.map;
var res = map.call(document.getElementsByClassName('total'), function( select ) {
return select.value;
}).reduce(function( a, b ) {
return +a + +b;
});
alert(res);
答案 2 :(得分:3)
获取多个<select>
的值之和:
var total = 0;
$('select.total').each(function () {
total += parseInt($(this).val(), 10);
});
console.log(total);
答案 3 :(得分:2)
$(".total").change(function() {
var sum = $(".total").map(function() {
return +this.value;
}).get().reduce(function(a, b) {
return a + b;
}, 0);
console.log(sum);
});
答案 4 :(得分:2)
您应该查看所选元素并将每个元素转换为整数,然后添加它们。
var sum = 0;
$('.total :selected').each(function () {
sum += parseInt($(this).text());
});
<强>更新强>
在选择更改事件
内$('.total').change(function () {
var sum = 0;
$('.total :selected').each(function () {
sum += parseInt($(this).text());
});
});