Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Live со всеми функциями JQuery (https://javascript.ru/forum/jquery/16498-live-so-vsemi-funkciyami-jquery.html)

biohazardo 11.04.2011 00:48

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-файле. Форма появляется в документе тогда, когда нужно пользователю. И как этот скрипт выполнить при уже загруженном документе на тот инпут, который тоже динамически создан?

FINoM 11.04.2011 03:41

Цитата:

Сообщение от biohazardo
1) При нажатии ссылки, вместо текста подгружается форма, которая этот текст формирует. Загружается из .php файла с помощью например .load. Из php-файла форма приходит пустой, и jquery должен затолкать туда значения value из имеющихся в Яве переменных. Формы в дом дереве нет, инпуты скрипт конечно не найдет.

А создавать обработчик после нажатия ссылки не?
Цитата:

Сообщение от biohazardo
И как этот скрипт выполнить при уже загруженном документе на тот инпут, который тоже динамически создан?

При динамическом формировании страницы, как правило, применяют плагины, методы и обработчики событий уже после формирования нужных элементов. Я совершенно не понимаю, зачем решать задачу через жопу, если можно сделать по-человечески.

biohazardo 11.04.2011 10:10

со 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)


Куда какой обработчик мне создавать? и как его вызвать???

walik 11.04.2011 10:32

$(".link").live('click',function(e){
     $.post('../blocks/form_edit.php',{array:msg.data},function(html){
          $('#blabla').html(html);
          $('input').value(string);
     }
}


Так не работает что ли ?

biohazardo 11.04.2011 10:35

нет... инпута в дом дереве нету.

FINoM 11.04.2011 12:56

Цитата:

Сообщение от biohazardo
нет... инпута в дом дереве нету.

Так если его нету, то и париться не стоит.

walik 11.04.2011 13:43

Проверяли что у вас в переменной html ? Может от сервера паршивый ответ приходит ?

biohazardo 15.04.2011 12:36

Да нормальный. Всмысле Инпута нет в дом дереве, потому что он туда попал после создания. Форма встает нормально на свое место, и через .live я бы смог задать обработчик какой нибудь типа click и т.д.
Но так как объект попал туда после создания страницы и дом-дерева, то воздействовать на него так
$('#my_input').val('Новое значение');

я не могу. А так мне и надо. Или каким то схожим образом. Очень часто мне встречается эта проблема, и приходится выкручиваться абы как, но это некрасиво получается.
Может чтото есть вроде OnCreate??


Часовой пояс GMT +3, время: 16:05.