Обработчик событий
Всем привет, начал учить 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> Просто объясните пожалуйста новичку как лучше получать значения в переменную при клике или смене значения... |
Цитата:
|
Цитата:
|
teremok317,
давай пиши сюда что накодил |
Ну тогда по порядку.
У меня несколько радио кнопок разбирать будем на примере 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(); Ну и получаю значение выбранной кнопки, у них всех одно имя. Но оно подставляется только при перезагрузки страницы. И тут я приплыл... |
Я просил готовый код что бы уловить связь. Между тем как создать глобальную переменную и записать в неё значение по клику. И проделать подобное с остальными элементами взаимодействия.
|
teremok317,
1) Зачем у всех кнопок одни и те же имена. Наверно, лучше дать им один класс 2)Кучу глобальных переменных не надо. У тебя будет один объект {} в котором и будут лежать твои значения. Типо такой stateProvider 3) Твой косяк с перезагрузкой в том, что ты делаешь $('input:radio[name=radio_btn]:checked') Ты понимаешь что ты делаешь? Ты достаешь из коллекцию тех радио, которые чекнуты. Но у тебя их изначально нет. И не будет. Потому что надо ставить обработчики чеканья 4) Дай им один класс, что не писать эти свои крутые селекторы |
Ну кажется что то понял по поводу по поводу обработчика чеканья
получилось вот что $('[name="radio_btn"]').on("change", function(){ var v_znchenie = $(this).val(); }); Но как вывести это теперь в внешнюю переменную? Или как то иначе можно получать выбранное значение? И да спасибо за $('').html(); Если кому то кажутся странными, может даже глупыми вопросы. Ну у меня метод обучения такой. Я всегда берусь за выполнение задания делаю его по мере сил и возможностей. А спустя время после чтения книг и практики, возвращаюсь к нему и переделываю и смотрю на прогресс. |
Все я разобрался ))) Только не закончил калькулятор... Там расстояние с многими условиями. А я спать хочу... Сделал все так. Объявил все переменные, написал функцию, обработчик, и вызвал функцию в обработчике который обрабатывал сразу все типы взаимодействия. В итоге калькулятор заработал. Правда со статическим расстоянием. Завтра буду выводить динамическое в зависимости от кол-ва и расстояния. Если будут сложности напишу. Итого за 6-7 часов у меня таки получилось с 0 написать калькулятор до этого я на js ничего не писал...
|
Часовой пояс GMT +3, время: 14:16. |