Помогите разобратся с Jquery append
Вложений: 1
Есть простенький скрипт на Jquery. Его работа: если нажал на один из чекбоксов на форме все остальные стают недоступными(проставлется атрибут disabled). Но проблема в следующем: при создании страницы количество чекбоксов фиксированное и их приходится добавлять. Добавляю с помощью Jquery append(). Так вот при клике на добавленные с помощью Jquery чекбоксы ничего не происходит. Как сделать так что б при клике на динамически созданный чекбокс происходил вызов нужной функции?
Код: <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> </head> <body> <script type="text/javascript"> $(document).ready(function() { $(":checkbox").click(function() { if (this.checked){ $(":checkbox").attr('disabled', true); $(this).attr('disabled', false); } else{ $(":checkbox").attr('disabled', false); } }); $("#btn").click(function() { var iteration = $("#count").val(); iteration++; $("#check").append('<input type="checkbox" value="'+iteration+'" name="chek['+iteration+']" id="correct"> Check'+iteration+'<br />'); }); }); </script> <input type="hidden" value="2" name="chek" id="count"> <div id="check"> <input type="checkbox" value="1" name="chek[1]" id="correct"> Check1<br /> <input type="checkbox" value="2" name="chek[2]" id="correct"> Check2<br /> </div> <br /><br /><br /> <input type="button" id="btn" value="Add CheckBox"> </body> </html> Во вложении сама html страничка с проблемным кодом |
live
|
Сделал с помощью .live() и все получилось, спасибо. Но есть еще один вопрос:
когда я кликаю на чекбоксу меня происходят следущие события: 1. все чекбоксы принимают атрибут .attr('disabled', true); 2. Тот чекбокс на который произошло нажатие принимает (до этого у него disabled - true, проставлен в первом пункте ) .attr('disabled', false); Можно ли как то проставить .attr('disabled', true) всем кроме того чекбокса на который был клик? |
RTFM !!!
$(selector).not( element ).attr('disabled', true ); |
Часовой пояс GMT +3, время: 17:08. |