Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Необходимо суммировать несколько значений из select multiple (https://javascript.ru/forum/misc/47839-neobkhodimo-summirovat-neskolko-znachenijj-iz-select-multiple.html)

avegurov 09.06.2014 22:53

Необходимо суммировать несколько значений из select multiple
 
Есть код. Сейчас в результат идет только одно выделенное значение из списка телеканалов. А надо суммировать несколько выделенных значений. Помогите, пожалуйста.

<html>
<head>
<script type="text/javascript">

function calc() {
var telekanal = document.getElementById("telekanal");
var result = document.getElementById("result");

var price = 0;
price += parseFloat(telekanal.options[telekanal.selectedIndex].value);

result.innerHTML = Number((price).toFixed(2));
}

</script>
</head>
<body>
Телеканал: <select multiple="multiple" onchange="calc()" id="telekanal">
<option value="72.6">Выбрать все</option>
<option value="18">Телеканал Zik</option>
<option value="3">Телеканал Аверс</option>
<option value="9.60">Телеканал Рівне-1</option>
<option value="8.50">Телеканал 3-студія</option>
<option value="3">Телеканал 33-й канал</option>
<option value="15.60">Телеканал Эксклюзив</option>
<option value="4.80">Телеканал ТВА</option>
<option value="4.80">Телеканал TV-4</option>
<option value="3">Телеканал Вінничина</option>
<option value="2">Телеканал Вита</option>
<option value="1">Телеканал Місто</option>
</select><br/>

<div><b>Сумма: <span id="result">0</span> грн.</b></div>

</body>
</html>

рони 09.06.2014 22:57

avegurov,
почти готовое решение в учебнике
http://learn.javascript.ru/form-elements#select-option

avegurov 09.06.2014 23:25

Спасибо, конечно, за наводку, но о суммировании в уроке ни слова, а я неделю назад о JavaScript не знал ровным счетом ничего, так что допилить самому вряд ли удастся. Второй день пилю и без толку.

Похоже гиблой была затея обратиться на форум. Благодарю за помощь.

рони 10.06.2014 00:13

avegurov,
сумма за все каналы 73.30 или у вас скидка?


Часовой пояс GMT +3, время: 17:13.