Я работаю с существующей библиотекой javascript, которая выполняет вызов AJAX, а затем выполняет дополнительную функцию обратного вызова.Функция обратного вызова получает строку HTML, которая загружается в DOM.Мне нужно назначить указатель даты jQuery для всех элементов в этой строке HTML, относящихся к классу календаря.
Упрощенный пример строки HTML из запроса AJAX:
<tr id='1234'>
<td>
<input type="text" value="somevalue" />
<input type="text" class="calendar" value="21/12/2010" />
</td>
<td>
<input type="text" value="someothervalue" />
<input type="text" class="calendar" value="21/12/2011" />
</td>
</tr>
Я могувыполните следующее в функции обратного вызова, чтобы установить указатель даты на два обязательных входа, но это вызывает странные вещи, происходящие с указателем даты, такие как переход следующей кнопки с 2010 по 1900 год и переход предыдущей кнопки к 1899.
$(".calendar").datepicker('destroy').datepicker({ dateFormat: 'dd/mm/yy', showAnim: 'fadeIn', duration: 200, gotoCurrent: true, changeYear: true, yearRange: 'c-120:c' });
Поэтому вместо этого я хотел бы просто ограничить оператор элементами внутри фрагмента HTML, предоставленного функции обратного вызова.Какой шаблон jQuery можно использовать для достижения следующего результата, отметив, что параметр html является строкой:
function SetCalendar(html) {
$("html.children .calendar").datepicker('destroy').datepicker({ dateFormat: 'dd/mm/yy', showAnim: 'fadeIn', duration: 200, gotoCurrent: true, changeYear: true, yearRange: 'c-120:c' });
}