Присоединение jquery datepicker к внедренному элементу - PullRequest
1 голос
/ 28 февраля 2011

Как я могу прикрепить указатель даты к динамически внедренному элементу?

Я не могу просто сделать что-то вроде:

$(function(){
  $('.date').datepicker();
})

, потому что после полной загрузки dom нет элемента с классом '.date '

Я не думаю, что live() также будет работать здесь

Я получил эту ошибку в firebug $(".date").datepicker is not a function

Редактировать:
Вот как вводится элемент

$('#typeId').change(function(){
   $(this).nextAll().remove();
   $(this).parent().append('<input type="hidden" name ="view_type" value="by_range"> <span>Start:</span> <input type="text" name="start_date" class="date"> <span>End:</span> <input type="text" name="end_date" class="date"> <input type="submit" value="Submit">');
})

Ответы [ 5 ]

0 голосов
/ 28 февраля 2011

Попробуйте изменить свой код так:

$('#typeId').change(function(){
   $(this).nextAll().remove();
   $(this).parent().append($('<input type="hidden" name ="view_type" value="by_range"> <span>Start:</span> <input type="text" name="start_date" class="date"> <span>End:</span> <input type="text" name="end_date" class="date"> <input type="submit" value="Submit">').find('.date').datepicker());
})
0 голосов
/ 28 февраля 2011

Live Query действительно решил мою проблему

$('.date').livequery(){
  $(this).datepicker()
}
0 голосов
/ 28 февраля 2011

Если вы знаете, когда элемент вставлен, вы можете сделать .datepicker () для него сразу после этого.

0 голосов
/ 28 февраля 2011

Некоторое время назад я сделал нечто подобное, используя Duplicate / Remove, плагин jQuery, который вы можете найти здесь: http://www.trovster.com/lab/plugins/duplicate-remove/

Сразу после следующего в строке 60 файла jquery.duplicate-remove.js:

$(this).find('input').focus();

Вы можете создать экземпляр jQuery datepicker:

$(this).find('.datepicker').datepicker();

А затем просто вызовите Duplicate / Remove как обычно. Вам также понадобится «начальный» экземпляр средства выбора даты для первого элемента средства выбора.

0 голосов
/ 28 февраля 2011

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

...