Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 03.01.2014, 15:43
Аспирант
Отправить личное сообщение для housewm Посмотреть профиль Найти все сообщения от housewm
 
Регистрация: 21.12.2010
Сообщений: 41

http://jsfiddle.net/housewm/vVS7n/ щас должен быть код
Ответить с цитированием
  #12 (permalink)  
Старый 03.01.2014, 17:13
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

jQuery подключи (там есть выпадающий списочек с либами). Причем старушку версии эдак 1.6, ибо live() устарел и был давно выпилен.

А лучше замени метод $('selector').live('change') на $(document).on('change', 'selector')
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #13 (permalink)  
Старый 03.01.2014, 17:14
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

И приучи себя открывать консоль (F12) браузера.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #14 (permalink)  
Старый 03.01.2014, 18:30
Интересующийся
Отправить личное сообщение для yndx.tavria Посмотреть профиль Найти все сообщения от yndx.tavria
 
Регистрация: 19.10.2013
Сообщений: 10

Кажется, что должно получится как-то так http://jsfiddle.net/tavriaforever/BrRjb/
Рекомендую почитать статью в учебнике про делегирование
http://learn.javascript.ru/event-delegation
Ответить с цитированием
  #15 (permalink)  
Старый 05.01.2014, 13:09
Интересующийся
Отправить личное сообщение для TITO Посмотреть профиль Найти все сообщения от TITO
 
Регистрация: 05.01.2014
Сообщений: 10

Здравствуйте. Прошу прощения у ТС за то, что влез в твой тред, но у меня та же проблема, мне нужно обработать все инпут радио на странице, но проблема в том, что я заранее не знаю сколько их будет, страница формируется не моими скриптами.
Пока решил проблему так
$(document).ready(function(){
	$(\'input:radio[name=jshop_attr_id11]\').change(function(){
			u=1;					
	});
});
$(document).ready(function(){
	$(\'input:radio[id=jshop_attr_id12]\').change(function(){
			u=2;					
	});
});
$(document).ready(function(){
	$(\'input:radio[id=jshop_attr_id15]\').change(function(){
			u=3;					
        });
});


Но это костыль, так как в данном случае удается обрабатывать только определенное количество инпутов, а как быть если на другой стрнице их будет 2 или 5. По name почему то вообще не работает, хотя имена у всех радио в моем случае одинаковы и формируются по аналогии с ид. Вот пример html кода который я хотел бы обработать.
<span id='block_attr_sel_1'>
<span class="input_type_radio">
<input type="radio" name="jshop_attr_id[1]" id="jshop_attr_id11" value="1" checked="checked" onclick="setAttrValue('1', this.value);"> 
<label for="jshop_attr_id11"><span class='radio_attr_label'>22</span></label></span>

<span class="input_type_radio">
<input type="radio" name="jshop_attr_id[1]" id="jshop_attr_id12" value="2" onclick="setAttrValue('1', this.value);">
<label for="jshop_attr_id12"><span class='radio_attr_label'>33</span></label></span>

<span class="input_type_radio">
<input type="radio" name="jshop_attr_id[1]" id="jshop_attr_id15" value="5" onclick="setAttrValue('1', this.value);"> 
<label for="jshop_attr_id15"><span class='radio_attr_label'>44</span></label></span>

<span class="input_type_radio">
<input type="radio" name="jshop_attr_id[1]" id="jshop_attr_id16" value="6" onclick="setAttrValue('1', this.value);"> 
<label for="jshop_attr_id16"><span class='radio_attr_label'>55</span></label></span>

Прошу помочь мне оформить приведенный мной код в функцию которая обрабатывала бы все инпут радио на странице я вижу решение что нужно по именам ее обработать, но как не пойму.
Забыл добавить, я из php могу вытащить все id и name у радиокнопок и подставить их в js, но все равно как то не пойму как организовать перебор именно функцией которая принимала бы ид кнопки и изменяла переменную внутри себя на заданное значение, так как писать 50 функций на каждую кнопку это не вариант и говнокод.

Последний раз редактировалось TITO, 05.01.2014 в 13:24.
Ответить с цитированием
  #16 (permalink)  
Старый 05.01.2014, 13:37
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$('input[name="jshop_attr_id[1]"]')

Или, если они все в одной форме, то проще:
$('form input[type="checkbox"]')
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #17 (permalink)  
Старый 06.01.2014, 00:44
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript">
$('input[name^="jshop_attr_id"]:radio').change(function(){
  alert(this.id)
  alert($(this).next('label').text())
});
</script>

Последний раз редактировалось Deff, 06.01.2014 в 00:47.
Ответить с цитированием
  #18 (permalink)  
Старый 06.01.2014, 01:55
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

$('#block_attr_sel_1').on('change', 'input', function () {
        alert(this.value);
});

JoomShoping - ненавижу
Ответить с цитированием
  #19 (permalink)  
Старый 06.01.2014, 13:04
Интересующийся
Отправить личное сообщение для yndx.tavria Посмотреть профиль Найти все сообщения от yndx.tavria
 
Регистрация: 19.10.2013
Сообщений: 10

Тогда уже так, отфильтровать селектор по имени инпутов
$('#block_attr_sel_1').on('change', 'input[name^=jshop_attr_id]:radio', function () {
        alert(this.value);
});
Ответить с цитированием
  #20 (permalink)  
Старый 06.01.2014, 13:40
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

yndx.tavria,
вы знаете JoomShoping?
это вывод одного атрибута, все input внутри '#block_attr_sel_1' будут иметь одинаковое имя и тип. Фильтрация здесь лишняя
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отследить изменения в форме ? evgeniy123 jQuery 6 13.06.2013 08:33
Как отследить onload в iframe в ie8 platedz Events/DOM/Window 15 12.06.2013 03:20
Как реализована изменение цвета фотографии? progress0477 jQuery 0 17.09.2012 17:17
Как узнать value radio button-a из javascript kaaron jQuery 1 17.02.2009 15:34
Как узнать value radio button-a из javascript kaaron Общие вопросы Javascript 1 17.02.2009 13:25