У меня возникают проблемы с циклом прохождения группы элементов в классе с использованием JQueryUI DatePicker, и я не могу понять, где моя проблема, поскольку консоль просто сообщает мне, что элемент, который не должен быть неопределенным, не определен.
$(document).ready(function () {
$('.date').toArray().forEach(function (field) {
$(field).datepicker({
showOn: '',
dateFormat: 'yy-mm-dd',
changeMonth: true,
changeYear: true,
yearRange: "c-100:c+100",
beforeShow: function () {
setTimeout(function () {
$(field).css('z-index', 999999);
}, 0);
}
});
let class_to_use = '.'+$(field).attr('id');
let icon = $(class_to_use);
console.log(icon); // fine, not undefined, it is the correct element
icon.click(function () {
console.log('clicked');
$(field).datepicker("show")
// but on click I get...
// Uncaught TypeError: Cannot read property 'left' of undefined
});
});
});
Этот ввод является модальным, если это имеет значение, что я делаю неправильно?
Вот HTML, отображаемый для одного из элементов, есть несколько, поэтому яделает цикл:
<i class="id_date fa fa-calendar-alt prefix prefix-smaller form-icon-adjust" style="cursor: pointer; color: var(--sidebar-bg-color)"></i>
<div class="md-form form-icon-margin ">
<input type="text" name="date" class="form-control date" required id="id_date">