Javascript 如何找到多个select';选择了哪些选项? 一个 两个 三 四 五 六

Javascript 如何找到多个select';选择了哪些选项? 一个 两个 三 四 五 六,javascript,Javascript,总数: 我试图得到显示的总价格,如果多个项目被选中,但它似乎不适合我。这可能很简单,但我搞不懂。非常感谢您的帮助 <select multiple name="item" style="width: 225px;" action="post" id="mySelect" onChange="document.getElementById('selectedValue').innerHTML = this.value;"> <option value="10">One &

总数:

我试图得到显示的总价格,如果多个项目被选中,但它似乎不适合我。这可能很简单,但我搞不懂。非常感谢您的帮助

<select multiple name="item" style="width: 225px;" action="post" id="mySelect" onChange="document.getElementById('selectedValue').innerHTML = this.value;">
<option value="10">One
<option value="20">Two
<option value="30">Three
<option value="40">Four
<option value="50">Five
<option value="60">Six
</select>

<p>Total: <b><span id="selectedValue"></span></b></p>

这不是您真正想要的,但您可以这样求和。

value
属性存储最后选择的选项的值,因为您有多个
select
元素,所以您可以迭代
HTMLSelectElement
对象的
selectedOptions
集合:

onChange="document.getElementById('selectedValue').innerHTML = parseInt(document.getElementById('selectedValue').innerHTML || 0) + parseInt(this.value);"
document.getElementById('mySelect').addEventListener('change',function(){
var总计=0,
selected=this.selectedOptions,
l=选定长度;
对于(变量i=0;i

结束选项标签在哪里?@vohuman谢谢。还有两件事,当我点击页面上的“重置”按钮时,在总计旁边选择的当前金额(如10)不清楚,他们是否愿意修复此问题,使其生效?第二,我试着将值改为9.99,但小数点不显示,而是四舍五入到9?非常感谢@乔希,不客气。对于第一个问题,您可以侦听表单的
reset
事件,并在事件处理程序中重置
#selectedValue
元素的内容。对于第二个问题,可以使用
parseFloat
而不是
parseInt
,即
parseFloat(选中[i].value)
document.getElementById('mySelect').addEventListener('change', function() {
    var total = 0,
        selected = this.selectedOptions,
        l = selected.length;

    for (var i = 0; i < l; i++) {
       total += parseInt(selected[i].value, 10);
    }

    // ...       
});