Live со всеми функциями JQuery
Здравствуйте. По поводу .live существует 2 проблемы у меня.
Я понимаю что live можно привязывать к таким событиям, как click, submit и т.д., но вот как тут быть не знаю, и в гугле не нашел ничего такого.:( 1) При нажатии ссылки, вместо текста подгружается форма, которая этот текст формирует. Загружается из .php файла с помощью например .load. Из php-файла форма приходит пустой, и jquery должен затолкать туда значения value из имеющихся в Яве переменных. Формы в дом дереве нет, инпуты скрипт конечно не найдет. Какое событие в данном случае можно связать с .live ??? 2) В этой форме одно из полей - Дата. К ней надо прикрепить календарь из jQuery UI. Соединяется он этим способом: <script> $(function() { $( "#input_date" ).datepicker({ dateFormat: 'yy-mm-dd' }); }); </script> Код допустим в том-же php-файле. Форма появляется в документе тогда, когда нужно пользователю. И как этот скрипт выполнить при уже загруженном документе на тот инпут, который тоже динамически создан? |
Цитата:
Цитата:
|
со 2м разобрался.. А с 1м нет..
Какой куда обработчик? Происходит следующее: 1) Клик по ссылке $(".link").live('click',function(e){ 2) загружается форма с помощью ajax $.post('../blocks/form_edit.php',{array:msg.data},function(html){ 3) Из формы приехал объект <input type="text" name="edit_title" id="edit_title"> 4) Сразу после ajax запроса надо $('input').value(string) Куда какой обработчик мне создавать? и как его вызвать??? |
$(".link").live('click',function(e){ $.post('../blocks/form_edit.php',{array:msg.data},function(html){ $('#blabla').html(html); $('input').value(string); } } Так не работает что ли ? |
нет... инпута в дом дереве нету.
|
Цитата:
|
Проверяли что у вас в переменной html ? Может от сервера паршивый ответ приходит ?
|
Да нормальный. Всмысле Инпута нет в дом дереве, потому что он туда попал после создания. Форма встает нормально на свое место, и через .live я бы смог задать обработчик какой нибудь типа click и т.д.
Но так как объект попал туда после создания страницы и дом-дерева, то воздействовать на него так $('#my_input').val('Новое значение'); я не могу. А так мне и надо. Или каким то схожим образом. Очень часто мне встречается эта проблема, и приходится выкручиваться абы как, но это некрасиво получается. Может чтото есть вроде OnCreate?? |
Часовой пояс GMT +3, время: 16:05. |