#jquery #daterangepicker
Вопрос:
Я хочу инициализировать даты некоторых элементов ввода после полной загрузки страницы. Но когда я пытаюсь получить значение входных элементов, там написано «Недопустимая дата».
Почему?
HTML:
lt;formgt; ... lt;input id="created_at" type="text" class="form-control date " name="created_at" value="2021-10-12 08:29:44"gt; lt;input id="updated_at" type="text" class="form-control date " name="updated_at" value="2021-11-17 09:56:03"gt; ... lt;/formgt;
Язык JavaScript:
(function($) { // Run a function when the page is fully loaded including graphics. $(window).on('load', function() { $('.date').daterangepicker({ 'singleDatePicker': true, 'timePicker': true, 'timePicker24Hour': true, locale: { format: 'DD/MM/YYYY hh:mm', } }, function(start, end, label) { console.log('New date range selected: ' start.format('YYYY-MM-DD h:mm A') ' to ' end.format('YYYY-MM-DD h:mm A') ' (predefined range: ' label ')'); }); $.fn.initStartDates(); }); $.fn.initStartDates = function() { let fields = ['created_at', 'updated_at']; for (let i = 0; i lt; fields.length; i ) { if ($('#' fields[i]).length) { let start = moment().format('DD/MM/YYYY hh:mm'); if ($('#' fields[i]).val()) { start = moment($('#' fields[i]).val()).format('DD/MM/YYYY hh:mm'); // lt;= Invalid date ?? } $('#' fields[i]).data('daterangepicker').setStartDate(start); } } } })(jQuery);