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:18. |