如何找到多个选择的选项的总和?

时间:2014-10-13 19:44:07

标签: javascript

<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>

如果选择了多个项目,我试图显示总价格,但它似乎对我不起作用。它可能很简单,但我无法得到它。任何帮助非常感谢。

2 个答案:

答案 0 :(得分:2)

value属性存储最后选择的选项的值,因为您有多个select元素,您可以遍历selectedOptions HTMLSelectElement的{​​{1}}集合对象:

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);
    }

    // ...       
});

http://jsfiddle.net/qoft7mre/

答案 1 :(得分:0)

onChange="document.getElementById('selectedValue').innerHTML = parseInt(document.getElementById('selectedValue').innerHTML || 0) + parseInt(this.value);"

这不是你真正想要的,但你可以这样总结。