Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   3 константы в опции выпадающего списка (https://javascript.ru/forum/misc/69490-3-konstanty-v-opcii-vypadayushhego-spiska.html)

Skypidar 28.06.2017 05:00

3 константы в опции выпадающего списка
 
Здравствуйте.
Возможно, вопрос достаточно глупый, но я уже убил на это несколько дней и просто не могу понять что не так.

Пытаюсь сделать калькулятор. Проблема заключается в том, что нужно менять значение констант выпадающего списка от которых будут идти дальнейшие расчеты. Т.е. на каждый пункт выпадающего списка должно быть 3 константы: объем, масса, расход. При вводе числа в input идут расчеты от этих констант и мы получаем 3 значения (допустим введенное в input число, по отдельности умножается на каждую константу и выводит 3 ответа). В инете куча примеров, но я смог найти только на одно значение для одного пункта сделанное через value, что не совсем вписывается в то, что нужно.

Простите, что не вставляю тестовый пример. Для большей наглядности просто дам ссылку на тестовый домен [домен исключительно тестовый, не сочтите за рекламу].

На всякий случай virustotal: https://www.virustotal.com/ru/url/2a...is/1498614654/

Ссылка: http://cl.free-atlanta.pw/

PS: в коде много мусора, который мне возможно потом понадобится, простите, что не убрал. Меня всего-лишь интересуют строки 21-45 и 83-114.

laimas 28.06.2017 06:03

<option data-cost="[число, число, число]" .....

рони 28.06.2017 09:56

Skypidar,
obj заполнить для всех индексов spisok15
function changeText() {
    var t, tt, s = +document.getElementById("s1").value||0,
        indx = document.getElementById("spisok15").selectedIndex,
        obj = {
            0: {
                v: 20,
                m: 3,
                kr: .5
            },
            1: {
                v: 10,
                m: 2,
                kr: 1
            }
        }[indx]; alert(indx);
    t = s * obj.m;
    tt = s / obj.v;
    document.getElementById("otv").innerHTML = t;
    document.getElementById("otv1").innerHTML = tt
};

Skypidar 28.06.2017 12:52

рони,
спасибо огромное!


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