javascript - 如何添加多个选择选项
问题描述
如何在多个选择选项上添加第 1 轮、第 2,3 轮,即下图中选择的第 1 轮 + 第 5 轮,并显示在 id="total" 上,即6?我试过但没有得到这个想法。
HTML 表单
<div class="form row">
<select class="selectpicker" multiple data-live-search="true" id="no_of_rounds">
<option value="1">Round 1</option>
<option value="2">Round 2</option>
<option value="3">Round 3</option>
<option value="4">Round 4</option>
<option value="5">Round 5</option>
<option value="6">Round 6</option>
<option value="7">Round 7</option>
<option value="8">Round 8</option>
<option value="9">Pay 1st Round - 8th Round</option>
</select>
<input id="total" type="text">
</div>
脚本
<script>
document.querySelector('.form').addEventListener('change', function() {
const nr = +document.getElementById('no_of_rounds').value || 0;
var round_1 = 80;
var round_2 = 90;
var round_3 = 100;
var round_4 = 110;
document.getElementById('total').value = total;
}
}
$('select').selectpicker();
</script>
解决方案
我认为这就是您正在寻找的:
document.querySelector('.form').addEventListener('change', function() {
let selectedValues = $('#no_of_rounds').val();
let sum = 0;
$("#no_of_rounds option:selected").each(function () {
let $this = $(this);
if ($this.length) {
sum += parseInt($this.val());
}
});
document.getElementById('total').value = sum;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form row">
<select class="selectpicker" multiple data-live-search="true" id="no_of_rounds">
<option value="1">Round 1</option>
<option value="2">Round 2</option>
<option value="3">Round 3</option>
<option value="4">Round 4</option>
<option value="5">Round 5</option>
<option value="6">Round 6</option>
<option value="7">Round 7</option>
<option value="8">Round 8</option>
<option value="9">Pay 1st Round - 8th Round</option>
</select>
<input id="total" type="text">
</div>
推荐阅读
- swagger - koa2-swagger-ui 身份验证
- javascript - Shield UI:拖动以创建组
- javascript - Javascript ajax 删除方法
- r - 在 R 中翻译向量
- jquery - 反序列化数据并从数组中删除项目并使用 jQuery 重新序列化数组
- python - Queue.put 在工作线程中失败
- python - 如何替换交互式散景图中的图例,而不是增加图例?
- oracle - Oracle Database docker linux VM - 笔记本电脑连接
- android - “未能安装以下 Android SDK 软件包,因为某些许可证尚未被接受”错误
- java - 如何在程序运行时创建 jlabel 并更改其大小?