|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.10.2016, 06:03 | #1 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Как присвоить одной переменной разные значения?
Не могу понять, как присвоить одной и той же переменной var start, по нажатию кнопки button1, функцию myFunc1; при нажатии кнопки button2, функцию myFunc2; при нажатии кнопки button3, функцию myFunc3.
В javascript одной и той же переменной можно присваивать разные значения. Как присвоить переменной функцию то же понятно: var start = function () { getValues(); rezult = (a * b * c); printValues(); } Сделал так не работает: Код HTML:
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .style3{ margin-top: 20px; color: #000; font-family: 'Times New Roman'; font-size: 21px; } .ctr{ color: #F00; padding: 3px 10px; } </style> <script type="text/javascript"> function byId(id){ return document.getElementById(id); } // ------------------------------------------------------- var intp_a, intp_b; var sel_c, sel_d, sel_e, sel_f; var button1, button2, button3; var start; var rezult = 0; var rezult_output = 0; var a,b,c,d,e,f; // ------------------------------------------------------- window.addEventListener('load', function(){ intp_a = byId('intp_a'); intp_b = byId('intp_b'); sel_c = byId('sel_c'); sel_d = byId('sel_d'); sel_e = byId('sel_e'); sel_f = byId('sel_f'); /* button1 = byId('button1'); button2 = byId('button2'); button3 = byId('button3'); */ rezult_output = byId('rezult_output'); //byId('button1').onclick = myFunc1; //byId('button2').onclick = myFunc2; //byId('button3').onclick = myFunc3; byId('button1').onclick = get1; byId('button2').onclick = get2; byId('button3').onclick = get3; byId('button4').onclick = start; }); //-------------------------------------------------------- function get1(){ start = myFunc1; }; function get2(){ start = myFunc2; }; function get3(){ start = myFunc3; }; // ------------------------------------------------------- function getValues(){ a = parseInt( intp_a.value ); b = parseInt( intp_b.value ); c = parseInt( sel_c.value ); d = parseInt( sel_d.value ); e = parseInt( sel_e.value ); f = parseInt( sel_f.value ); } function printValues(){ var out = '<b>Результат</b>: ["<span class="ctr">'+rezult+'</span>"]'; rezult_output.innerHTML = out; console.log( out ); } // ------------------------------------------------------- function myFunc1() { getValues(); rezult = (a * b * c); printValues(); } function myFunc2() { getValues(); rezult = (a * b * d + e); printValues(); } function myFunc3() { getValues(); rezult = (a * b * f); printValues(); } // ------------------------------------------------------- </script> </head> <body> <select name="combobox1" size="1" id="sel_c"> <option value="500">А</option> <option value="520">Б</option> </select> <select name="combobox2" size="1" id="sel_d"> <option value="520">В</option> <option value="560">Г</option> </select> <select name="combobox3" size="1" id="sel_e"> <option value="650">Д</option> <option value="700">Е</option> </select> <select name="combobox4" size="1" id="sel_f"> <option value="750">Ж</option> <option value="800">З</option> </select> <input type="number" id="intp_a" name="indexEditbox1" value="0"> <input type="number" id="intp_b" name="indexEditbox1" value="0"> <input type="button" id="button1" value="Первая функция"> <input type="button" id="button2" value="Вторая функция"> <input type="button" id="button3" value="Третья функция"> <input type="button" id="button4" value="Результат"> <div id="rezult_output" class="style3"> Результат </div> </body> </html>
Еду медленно, но верно!
Последний раз редактировалось spoon100500; 25.10.2016 в 06:52. Причина: Перезалил |
25.10.2016, 06:52 | #3 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Перезалил
Еду медленно, но верно!
|
25.10.2016, 12:28 | #5 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
ваша старт это не функция, это переменная, потому ничего и не работает.
|
25.10.2016, 13:15 | #6 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Огромное спасибо, до typeof ещё не добрался, надо ознакомиться.
Еду медленно, но верно!
|
25.10.2016, 13:39 | #7 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
byId('button1').onclick = get1;
byId('button2').onclick = get2; byId('button3').onclick = get3; byId('button1').click(); }); //-------------------------------------------------------- function get1(){ byId('button4').onclick = myFunc1; }; function get2(){ byId('button4').onclick = myFunc2; }; function get3(){ byId('button4').onclick = myFunc3; }; и не нужны тайпофы )) Последний раз редактировалось come-on; 25.10.2016 в 13:41. |
25.10.2016, 13:46 | #8 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
byId('button1').click(); это опечатка или так нужно?
Еду медленно, но верно!
|
25.10.2016, 13:52 | #9 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
ну вы попробуйте, если на загрузке вам не нужно инициализировать клик на 4 батоне, то можете убрать эту строку
|
25.10.2016, 13:53 | #10 |
Форумчанин
Регистрация: 14.10.2016
Сообщений: 406
|
Если убрать кнопку button4, которая отвечает за результат, то как реализовать динамическое изменение результата при изменении:
Код:
Еду медленно, но верно!
Последний раз редактировалось Вадим Мошев; 25.10.2016 в 21:00. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как присвоить одной переменной последовательность текстовых значений других переменных | WildWhiteRabbit | Помощь студентам | 4 | 01.06.2015 09:58 |
передача значения переменной одной формы в описание переменной другой | diekster | Общие вопросы Delphi | 14 | 18.05.2014 02:42 |
Выполнить разные вычисления в зависимости от значения переменной. (Pascal) | p0weR | Помощь студентам | 3 | 12.03.2011 11:40 |
Как присвоить переменной имя файла | mayonez | Общие вопросы Delphi | 3 | 27.06.2010 13:02 |
Присвоить разные значения параметру при вставке записи в базу | Gover | БД в Delphi | 3 | 19.04.2010 21:37 |