Страница 1 из 1

datepicker не отрабатывает для динамически подгружаемых стро

СообщениеДобавлено: 28 июл 2013, 10:00
mstdmstd
всем привет,
Есть форма с несколькими полями и полем даты в котором дата выбирается как jquery-datepicker.
Ниже есть список этих документов и есть необходимость в этом списке также редактировать дату
Но проблема в том что этот список подгружвется аджаксом и для элементов списка ajax не срабатывет
Примерно так :
Код: выделить все
   $(document).ready(function () {
      loadHistories( 1, '' );
ююю
   });

   function loadHistories(page, rows_per_page ) {
      var HRef = '<?php echo url_for( '@admin_load_histories?project_id=' . $project_id ) ?>/page/'+page+"/rows_per_page/"+rows_per_page
      $.get(HRef, {  },
         onloadHistories,
         function (x, y, z) {   //Some sort of error
            alert(x.responseText);
         }
      );
   }
   function onloadHistories(data) {
      document.getElementById("div_load_histories").innerHTML = data
      var params = {
         changeMonth : true,
         changeYear : true,
         numberOfMonths : 1,
         showButtonPanel : false };
      $(".hasDatepickerSelector").datepicker(params);
   }

Инпуты для дат имеют вид:
Код: выделить все
<input type="text" size="10" maxlength="10" class="form_font_left hasDatepicker hasDatepickerSelector" value="" id="add_history_due_dat_24">

и datepicker для них не срабатывает.
Можно ли это как-то побороть?

Re: datepicker не отрабатывает для динамически подгружаемых стро

СообщениеДобавлено: 28 июл 2013, 21:08
Gennady
Торжественно клянусь, что на такой вопрос отвечаю последний раз!
Я поясню причину - решение найдете сами. На форуме, и не только на нем это обсуждалось (я не имею ввиду конкретно datepicker) не знаю сколько раз уже.
Вы назначаете обработчик на некоторые элементы, которые есть в DOM - т.е. на существующий элемент. Поэтому обработчик не вызывается на тех элементах, которые были добавлены в DOM после назначения обработчика. Следовательно, выход в назначении обработчика после того, как элемент будет добавлен в DOM.

Re: datepicker не отрабатывает для динамически подгружаемых стро

СообщениеДобавлено: 30 июл 2013, 14:59
mstdmstd
Сорри, я искал на форуме, но честно говоря не нашел - не знал по каким ключевым словам искать.
Ткните, плиз.

Re: datepicker не отрабатывает для динамически подгружаемых стро

СообщениеДобавлено: 30 июл 2013, 19:18
zandroid
Мне кажется, что здесь не совсем та проблема, о которой говорит Геннадий. Я бы вам посоветовал поработать сначала с отладчиком и отследить, подключены ли все нужные скрипты, во время ли вызываются все нужные функции (в правильной ли последовательности), корректный ли приходит HTML и HTML начального документа. Посмотреть на предмет инициализации пикера для поля после срабатывания обработчика: $('.hasDatepicker').data('datepicker') != null (только селектор выберите более конкретный, чтобы проверять конкретное поле).

И уберите 4-ый параметр из вызова $.get, он у вас не соответствует API