#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()
или сразу после его добавления.