Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2013, 14:41   #1
SL1M_DOGG
Пользователь
 
Регистрация: 08.06.2009
Сообщений: 96
По умолчанию

Всем привет) Есть у меня селект с несколькими опциями, есть баттон. Пытаюсь сделать свич, чтобы в завиисимости от выбранной опции при нажатии на батон он выполнял разные функции. Напишите пример, пожалуйста.

что то типу:
Код:
btn=document.getElementById('button');
select=document.getElementById('select');
output=document.getElementById('div');

switch(select) {
case children[0]: btn.onclick = function() {result = a + b;} break;
case children[1]: btn.onclick = function() {result = a - b;} break;
return result;
}

Последний раз редактировалось Stilet; 13.07.2013 в 17:20.
SL1M_DOGG вне форума Ответить с цитированием
Старый 14.07.2013, 18:01   #2
SL1M_DOGG
Пользователь
 
Регистрация: 08.06.2009
Сообщений: 96
По умолчанию

Код:
switch (action.value) {
			    case "plus":
                    function calculate() {calc.plus(setInput());}
				break
				case "minus":
                    function calculate() {calc.minus(setInput());}
				break
				case "multiply":
                    function calculate() {calc.multiply(setInput());}
				break
				case "divide":
                    function calculate() {calc.divide(setInput());}
				break
				case "degree":
                    function calculate() {calc.degree(setInput());}
                break
				return calculate();
			}
			submit.onclick = function() {calculate(); result()};
			}
вот такой вот свич. Какое бы значение action не выбрал бы все время считается последнее значение. в данном случае calculate = {calc.degree(setInput());}, при action.value == "minus" (смотрел в дебагере)

З.Ы.: у калк.плюс(минус, мултиплай...) есть ретурн оутпут.

З.Ы.Ы.: функция ресалт:
Код:
function result() {
	    output.innerHTML = "Результат = " + calc.getResult();
	}

Последний раз редактировалось SL1M_DOGG; 14.07.2013 в 18:03.
SL1M_DOGG вне форума Ответить с цитированием
Старый 15.07.2013, 08:59   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

почему бы просто так не сделать?
Код:
submit.onclick = function() {
  calc[action.value]();
  result();
};
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дайте четкий ответ, как теперь - форум и журнал порознь? grenles Свободное общение 11 11.02.2011 17:54
"Свич" или роутер? W0LF Компьютерное железо 25 01.02.2011 14:32
Как через свич раздать по классу Инет soktahan Свободное общение 4 16.11.2008 10:54
Гигабитный свич OrdJONY Компьютерное железо 4 30.06.2008 09:32