Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.01.2011, 00:38
Новичок на форуме
Отправить личное сообщение для OnAlex911 Посмотреть профиль Найти все сообщения от OnAlex911
 
Регистрация: 04.01.2011
Сообщений: 2

Не работает сгенерированный checkbox
Здравствуйте!
Сразу извиняюсь, если что-то подобное уже обсуждалось. Не нашел, т.к., вероятнее всего, неверно формулирую запрос.
Имеется такой код JS:
$(document).ready(function(){
	$('#aaa input').change(function(){
		if(this.value == 1)
			$('#bbb').html('<input type="checkbox" name="cb" value="1" />1');
		else{
			$('#bbb').html('<input type="checkbox" name="cb" value="2" />2'+
			'<br /><input type="checkbox" name="cb" value="3" />3');
		}		
	});
	$('#bbb input').change(function(){
		$('#out').html(this.value)
	});
});

И, соответственно, html,
Код:
<form>
  <div id="aaa">
	<input type="radio" name="rb" value="1" />Var 1<br />
	<input type="radio" name="rb" value="2" />Var 2<br />
  </div>
  <div id="bbb">
	<input type="checkbox" name="cb" value="1" />
  </div>
  <div id="out"></div>
</form>
При первой загрузке страницы функция, обрабатывающая щелчок по чекбоксу, (строка 10) работает: в #out записывается 1.
НО при нажатии радио-кнопки Var2 генерируются другие чекбоксы, которые должны обрабатываться этой же функцией. Но она, увы, уже не работает. То же самое, если мы щелкаем Var1
Пока решил проблему, повесив на чекбоксы onClick, но, может быть, волшебник JQuery позволяет как-то более цивилизовано подойти к решению данной проблемы?
Ответить с цитированием
  #2 (permalink)  
Старый 05.01.2011, 07:09
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Используйте .live()
Ответить с цитированием
  #3 (permalink)  
Старый 05.01.2011, 18:23
Новичок на форуме
Отправить личное сообщение для OnAlex911 Посмотреть профиль Найти все сообщения от OnAlex911
 
Регистрация: 04.01.2011
Сообщений: 2

Использование live() помогло!
Огромное спасибо!
Изменение функции следующим образом дало требуемый результат!
$('#bbb input').live("click",function(){
		$('#out').html(this.value)
});


p.s. событие изменил на "click", т.к. упрямый "осел" не хотел обрабатывать "change"

Последний раз редактировалось OnAlex911, 05.01.2011 в 23:40.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция disable для нескольких checkbox allforweb Элементы интерфейса 4 19.12.2010 17:51
ajax запросы, работает на одних компах и не работает на других vtornik23 AJAX и COMET 2 22.03.2010 18:22
ява-скрипт выборочно работает-не работает zeta777 Internet Explorer 0 20.01.2010 11:41
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59
Скрипт меню-гармошки работает выборочно Extern Элементы интерфейса 2 23.02.2009 15:32