Как я могу использовать jquery datepicker для ввода, который еще не загружен?

#jquery #jquery-ui

#jquery #jquery-ui

Вопрос:

Я экспериментирую с виджетом Datepicker в пользовательском интерфейсе jQuery. Следующий код работает просто отлично, как и ожидалось:

 <html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Datepicker - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  <script>
  $( function() {
    $( "#datepicker" ).datepicker();
  } );
  </script>
</head>

<body>
    <p>Date: <input type="text" id="datepicker"></p>
</body>
</html>
 

Проблема в том, что форма с полем ввода даты будет загружаться динамически с помощью вызова Ajax. Это означает, что идентификатор ввода #datepicker не существует при загрузке страницы. Я понял, что я могу использовать .on событие в jQuery для элементов, которые еще не загружены. Но для этого требуется запуск события. Итак, могу ли я решить эту проблему аналогичным образом с помощью Datepicker? Как я могу инициализировать datepicker после динамической загрузки формы?

Комментарии:

1. Можете ли вы показать нам код, который не работает вместо / а также код, который работает? Короче говоря, вы применяете .datpicker() то же время, что и выводите поле на экран.

2. Спасибо @Jamiec… Глупый я. Конечно, я просто применяю datepicker в вызове Ajax, где загружается и отображается форма… Почему я не подумал об этом: -D

3. Да, вы можете применить DatePicker после загрузки элемента, может использовать .ready() или сразу после его добавления.