jQuery添加所有选项值的值

jQuery添加所有选项值的值,jquery,Jquery,我有一个这样的标记 <select name="first_group" id="first_group" class="persons"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</opti

我有一个这样的标记

<select name="first_group" id="first_group" class="persons">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>                
</select>


<select name="second_group" id="second_group" class="persons">
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>              
</select>

<select name="third_group" id="third_group" class="persons">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>                
</select>
jQuery(function($) {
    $('body').on('change','.persons', function() {
        var Total = $(this).val();
        console.log(Total);
    });
});

但这一个显示的是已选择的已选择的值。我想添加所有这些值,即使它们未被选中。

您需要循环遍历每个元素,然后添加每个项目的值

jQuery(function ($) {
    $('body').on('change', '.persons', function () {
        var total = 0;
        $('.persons').each(function () {
            total += +this.value || 0
        })
        console.log(total);
    });
});

演示:

通过这种方式,您可以对所选值求和:

jQuery(函数($){
$('body')。on('change','persons',function(){
风险价值总额=[];
$('.persons')。每个(函数(){
total.push($(this.val());
});
var sum=eval(合计.联接(“+”);
警报(“总计:+总和”);
控制台日志(总和);
});
});

1.
2.
3.
4.
5.
6.
7.
8.
10
11
12
13
14
15
16
17
1.
2.
3.
4.
5.

您还可以仅循环选择的选项:

$('body').on('change', '.persons', function () {
    var total = 0;
    $('.persons option:selected').each(function () {
        total += Number(this.value)
    });
    console.log(total);
});