checkbox, select и условие
Вложений: 1
Соорудил вот такой громоздкий код:
function show_alert() { if (R1.checked) { r11=300; } else { r11=0; } if (R2.checked) { r22=500; } else { r22=0; } if (R3.checked) { r33=1000; } else { r33=0; } if (R4.checked) { r44=1500; } else { r44=0; } if (E1.checked) { e11=1500; } else { e11=0; } if (E2.checked) { e22=1500; } else { e22=0; } if (E3.checked) { e33=1500; } else { e33=0; } if (E4.checked) { e44=1500; } else { e44=0; } if (L1.checked) { l11=1500; } else { l11=0; } if (L2.checked) { l22=1500; } else { l22=0; } if (L3.checked) { l33=1500; } else { l33=0; } if (L4.checked) { l44=1500; } else { l44=0; } if (M1.checked) { m11=1500; } else { m11=0; } if (M2.checked) { m22=1500; } else { m22=0; } if (M3.checked) { m33=1500; } else { m33=0; } if (M4.checked) { m44=1500; } else { m44=0; } www.value=r11*1 + r22*1 + r33*1 + r44*1 + e11*1 + e22*1 + e33*1 + e44*1 + l11*1 + l22*1 + l33*1 + l44*1 + m11*1 + m22*1 + m33*1 + m44*1; } </script> Все, вроде, работает исправно, но стоит мне начать добавлять в скрипт упоминание о select, как все перестает работать. Например: function show_alert() { if (R1.checked) { r11=300; } else { r11=0; } if (R2.checked) { r22=500; } else { r22=0; } if (R3.checked) { r33=1000; } else { r33=0; } if (R4.checked) { r44=1500; } else { r44=0; } if (E1.checked) { e11=1500; } else { e11=0; } if (E2.checked) { e22=1500; } else { e22=0; } if (E3.checked) { e33=1500; } else { e33=0; } if (E4.checked) { e44=1500; } else { e44=0; } if (L1.checked) { l11=1500; } else { l11=0; } if (L2.checked) { l22=1500; } else { l22=0; } if (L3.checked) { l33=1500; } else { l33=0; } if (L4.checked) { l44=1500; } else { l44=0; } if (M1.checked) { m11=1500; } else { m11=0; } if (M2.checked) { m22=1500; } else { m22=0; } if (M3.checked) { m33=1500; } else { m33=0; } if (M4.checked) { m44=1500; } else { m44=0; } selr1 = document.getElementById("sr1").options.selectedIndex; valr1= document.getElementById("sr1").options[selind].value; www.value=r11*1 + r22*1 + r33*1 + r44*1 + e11*1 + e22*1 + e33*1 + e44*1 + l11*1 + l22*1 + l33*1 + l44*1 + m11*1 + m22*1 + m33*1 + m44*1; } По отдельности они работают исправно, но стоит их соединить, как все рушится. А теперь что я хочу сделать: чтобы при активации чекбокса можно было выбрать число, на которое умножить его значение. Например, если выбрать чекбокс R1 и число 5 из списка, то на выходе получится 25000. И так со всеми возможными вариантами активации чекбоксов и выбора чисел. К сообщению прикрепил весь код, т.к. тут он не влезает. PS я понимаю, что мой код иррационален, но сделать по-другому я так и не смог, построить сложный массив для меня пока что нереально) |
Цитата:
|
ksa,
А как он ходит? Я просто не совсем могу в js :write: |
Цитата:
И много чего другого, что позволяет значительно сократить код. |
ksa,
ну, я вообще ни в каком языке не могу) А насчет циклов - это хорошая идея, надо будет подумать) А что мне делать с моей проблемой? Из-за чего происходит конфликт? Почему сразу после того, как я вставлю этот код: selr1 = document.getElementById("sr1").options.selectedIndex; valr1= document.getElementById("sr1").options[selind].value; Все перестает работать? Связано ли это с кучей условий? |
Ermite,
:cray: selr1 = document.getElementById("sr1").selectedIndex; valr1= document.getElementById("sr1").options[selr1].value; |
рони,
ясно :D Спасибо ещё раз) |
Ermite,
это selr1 = document.getElementById("sr1").selectedIndex; valr1= document.getElementById("sr1").options[selr1].value; так будет короче valr1= document.getElementById("sr1").value; |
Часовой пояс GMT +3, время: 16:19. |