jQuery:如果仅选中多个值,则求和 [英] jQuery : Sum multiple select value if only selected

查看:45
本文介绍了jQuery:如果仅选中多个值,则求和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果仅选中一项,如何求和多个选定项的值.从示例中,我想获取"X12SO + X13SO = 30"的值

How can I sum the value of selected multiple item if only the item is selected. From the example I wanna get the value of "X12SO+X13SO=30"

let sum = 0;
$("select[name='myselect[]'] option").each(function(){
  sum += +this.value.split("|")[1];
});
$("input[name='myresult']").val(sum);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

 <select multiple class="form-control" id="multipleSelect" name="myselect[]">
<option value="X12SO|10">X12SO</option>
<option value="X13SO|20">X13SO</option>
<option value="X14SO|30">X14SO</option>
<option value="X15SO|40">X15SO</option>
<option value="X16SO|50">X16SO</option>
</select>

<input type="text" name="myresult">

推荐答案

使用onchange检测所选选项是否已更改.

Use onchange to detect if the selected options changed.

let sum = 0;
$("#multipleSelect").on("change", function(){
  sum = 0;
  // if there are no options being selected, it would be an empty array[]
  // and sum each splited value
  ($(this).val() || []).map(v=>sum += +v.split("|")[1])
  $("input").val(sum);
})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

 <select multiple class="form-control" id="multipleSelect" name="myselect[]">
<option value="X12SO|10">X12SO</option>
<option value="X13SO|20">X13SO</option>
<option value="X14SO|30">X14SO</option>
<option value="X15SO|40">X15SO</option>
<option value="X16SO|50">X16SO</option>
</select>

<input type="text" name="myresult">

这篇关于jQuery:如果仅选中多个值,则求和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆