Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.09.2016, 15:59
Новичок на форуме
Отправить личное сообщение для teremok317 Посмотреть профиль Найти все сообщения от teremok317
 
Регистрация: 04.09.2016
Сообщений: 9

Обработчик событий
Всем привет, начал учить js и jQuery. Читаю и тут же практикуюсь, ресурс отличный, но столкнулся с проблемой. Мне нужно получать значение value при клике, просто его получить не проблема но оно подставляется только после перезагрузки страницы. А мне надо что б стразу в расчет выходило. Ясно что нужно как то чтоб обработчик событий обрабатывал клик но у меня пока не выходит... Вот пример из калькулятора, я специально задействовал разные типы полей, есть и "радио" кнопки, и поля ввода, и списки селект. Для начала, как получить значени value при клике в переменную?
<ul>
<li><label  class="calc-radio"><input id="radio_1" name="radio_btn" type="radio" value="123"  /><i>кнопка_1</i></label></li>
</ul>

Просто объясните пожалуйста новичку как лучше получать значения в переменную при клике или смене значения...
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2016, 16:09
Новичок на форуме
Отправить личное сообщение для teremok317 Посмотреть профиль Найти все сообщения от teremok317
 
Регистрация: 04.09.2016
Сообщений: 9

Сообщение от Rise Посмотреть сообщение
teremok317, Формы, элементы управления
Спасибо, конечно я читал но выше описанную задачу так и не решил... Если бы решил вопрос сюда не писал.
Ответить с цитированием
  #3 (permalink)  
Старый 04.09.2016, 17:16
Новичок на форуме
Отправить личное сообщение для teremok317 Посмотреть профиль Найти все сообщения от teremok317
 
Регистрация: 04.09.2016
Сообщений: 9

Сообщение от Rise Посмотреть сообщение
teremok317, что тебе не понятно там вот пример поля ввода?
Я попросил рабочий код применимый к html который я скинул. Нужно что бы по клику по этому "радио" значение value писалось в глобальную переменную, которую могу использовать в формулах расчета. У меня получилось выводить значение, но оно почему то выводится только после перезагрузки страницы. Вот и прошу рабочий скрипт, что бы узнать как это делать правильно.
Ответить с цитированием
  #4 (permalink)  
Старый 04.09.2016, 17:19
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

teremok317,
давай пиши сюда что накодил
Ответить с цитированием
  #5 (permalink)  
Старый 04.09.2016, 17:42
Новичок на форуме
Отправить личное сообщение для teremok317 Посмотреть профиль Найти все сообщения от teremok317
 
Регистрация: 04.09.2016
Сообщений: 9

Ну тогда по порядку.
У меня несколько радио кнопок разбирать будем на примере 1й
<ul>
<li><label  class="calc-radio"><input id="radio_1" name="radio_btn" type="radio" value=""  /><i>кнопка_1</i></label></li>
</ul>

value изначально пуст
я беру значение из моей таблички со значениями в html при помощи
var perem1 = document.getElementById("znachenie").innerHTML;

$('#radio_1').val(perem1);

Тут подставляю в value значение переменной
var result_radio_btn $('input:radio[name=radio_btn]:checked').val();

Ну и получаю значение выбранной кнопки, у них всех одно имя. Но оно подставляется только при перезагрузки страницы. И тут я приплыл...
Ответить с цитированием
  #6 (permalink)  
Старый 04.09.2016, 17:45
Новичок на форуме
Отправить личное сообщение для teremok317 Посмотреть профиль Найти все сообщения от teremok317
 
Регистрация: 04.09.2016
Сообщений: 9

Я просил готовый код что бы уловить связь. Между тем как создать глобальную переменную и записать в неё значение по клику. И проделать подобное с остальными элементами взаимодействия.
Ответить с цитированием
  #7 (permalink)  
Старый 04.09.2016, 18:05
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

teremok317,
1) Зачем у всех кнопок одни и те же имена. Наверно, лучше дать им один класс

2)Кучу глобальных переменных не надо. У тебя будет один объект {} в котором и будут лежать твои значения. Типо такой stateProvider

3) Твой косяк с перезагрузкой в том, что ты делаешь
$('input:radio[name=radio_btn]:checked')

Ты понимаешь что ты делаешь? Ты достаешь из коллекцию тех радио, которые чекнуты. Но у тебя их изначально нет. И не будет. Потому что надо ставить обработчики чеканья
4) Дай им один класс, что не писать эти свои крутые селекторы
Ответить с цитированием
  #8 (permalink)  
Старый 05.09.2016, 01:01
Новичок на форуме
Отправить личное сообщение для teremok317 Посмотреть профиль Найти все сообщения от teremok317
 
Регистрация: 04.09.2016
Сообщений: 9

Ну кажется что то понял по поводу по поводу обработчика чеканья
получилось вот что
$('[name="radio_btn"]').on("change", function(){
var v_znchenie = $(this).val();
});

Но как вывести это теперь в внешнюю переменную? Или как то иначе можно получать выбранное значение? И да спасибо за
$('').html();

Если кому то кажутся странными, может даже глупыми вопросы. Ну у меня метод обучения такой. Я всегда берусь за выполнение задания делаю его по мере сил и возможностей. А спустя время после чтения книг и практики, возвращаюсь к нему и переделываю и смотрю на прогресс.

Последний раз редактировалось teremok317, 05.09.2016 в 01:22.
Ответить с цитированием
  #9 (permalink)  
Старый 05.09.2016, 02:47
Новичок на форуме
Отправить личное сообщение для teremok317 Посмотреть профиль Найти все сообщения от teremok317
 
Регистрация: 04.09.2016
Сообщений: 9

Все я разобрался ))) Только не закончил калькулятор... Там расстояние с многими условиями. А я спать хочу... Сделал все так. Объявил все переменные, написал функцию, обработчик, и вызвал функцию в обработчике который обрабатывал сразу все типы взаимодействия. В итоге калькулятор заработал. Правда со статическим расстоянием. Завтра буду выводить динамическое в зависимости от кол-ва и расстояния. Если будут сложности напишу. Итого за 6-7 часов у меня таки получилось с 0 написать калькулятор до этого я на js ничего не писал...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработчик событий для динамически добавленных элементов Tecvid Events/DOM/Window 28 25.06.2018 13:49
Обработчик событий в другом файле ev09 AJAX и COMET 1 28.08.2014 21:21
Прикрутить обработчик событий Jok3r Общие вопросы Javascript 5 05.08.2014 17:44
не удается убрать обработчик событий. mitiya Общие вопросы Javascript 0 08.09.2012 21:18
Обработчик событий kucaeva Общие вопросы Javascript 2 10.12.2010 16:42