Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.10.2015, 13:51
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

checkbox, 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;
  }
  
  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 я понимаю, что мой код иррационален, но сделать по-другому я так и не смог, построить сложный массив для меня пока что нереально)
Вложения:
Тип файла: zip 1122.zip (1.2 Кб, 2 просмотров)

Последний раз редактировалось Ermite, 28.10.2015 в 13:54.
Ответить с цитированием
  #2 (permalink)  
Старый 28.10.2015, 14:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Ermite
Соорудил вот такой громоздкий код
Так конь не ходит. (с)
Ответить с цитированием
  #3 (permalink)  
Старый 28.10.2015, 15:36
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

ksa,
А как он ходит? Я просто не совсем могу в js
Ответить с цитированием
  #4 (permalink)  
Старый 28.10.2015, 15:49
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Ermite
Я просто не совсем могу в js
Так в любом языке есть циклы...
И много чего другого, что позволяет значительно сократить код.
Ответить с цитированием
  #5 (permalink)  
Старый 28.10.2015, 16:59
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

ksa,
ну, я вообще ни в каком языке не могу) А насчет циклов - это хорошая идея, надо будет подумать)
А что мне делать с моей проблемой?
Из-за чего происходит конфликт? Почему сразу после того, как я вставлю этот код:
selr1 = document.getElementById("sr1").options.selectedIndex;
valr1= document.getElementById("sr1").options[selind].value;

Все перестает работать? Связано ли это с кучей условий?
Ответить с цитированием
  #6 (permalink)  
Старый 28.10.2015, 17:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Ermite,


selr1 = document.getElementById("sr1").selectedIndex; 


valr1= document.getElementById("sr1").options[selr1].value;
Ответить с цитированием
  #7 (permalink)  
Старый 28.10.2015, 18:07
Аспирант
Отправить личное сообщение для Ermite Посмотреть профиль Найти все сообщения от Ermite
 
Регистрация: 20.10.2015
Сообщений: 32

рони,
ясно Спасибо ещё раз)
Ответить с цитированием
  #8 (permalink)  
Старый 28.10.2015, 18:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Ermite,
это
selr1 = document.getElementById("sr1").selectedIndex; 


valr1= document.getElementById("sr1").options[selr1].value;

так будет короче
valr1= document.getElementById("sr1").value;
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
checkbox, radio и select c option Hekumok Общие вопросы Javascript 8 12.04.2016 17:51
Замена select на checkbox avadakeda Общие вопросы Javascript 1 14.11.2014 09:32
Select with checkbox Gasherez Общие вопросы Javascript 4 10.07.2014 21:03
select, checkbox, onchange olnew Элементы интерфейса 4 25.03.2013 22:46
как сделать зависимость checkbox и select MasterHrust Javascript под браузер 12 09.01.2012 13:27