Я использую сторонний плагин jquery (https://github.com/NickBusey/jQuery-Date-Select-Boxes-Plugin), который предварительно заполняет выбранные элементы годом, месяцем и днем. В нем указано правильное количество дней для каждого месяца с учетом високосного года.
При загрузке страницы этот скрипт создает элементы выбора, как и ожидалось.
Что я хочу сделать после это предварительно выбрать текущий месяц и день, чтобы пользователю не всегда приходилось начинать с 1 января.
Мне удалось изменить год, но подобный код не влияет на месяц и день. selects.
Вот функции для изменения года и месяца:
function preset_year_select( element ) {
var year = get_target_year(); // separate function that returns the year
$(element).filter(function() {
return $(this).text() == year;
}).prop('selected', true);
}
function preset_month_select( element ) {
var today = new Date();
var monthname = get_month_name(today); // separate function that returns the month name
$(element).filter(function() {
return $(this).text() == monthname;
}).prop('selected', true);
}
Эти селекторы находятся в модальном bootstrap. Я вызываю эти функции, когда модал открывается:
preset_year_select( $('#pto-entry-form--date-year option') );
preset_month_select( $('#pto-entry-form--date-month option') );
Я не получаю ошибок или что-то еще. Я вижу, что фильтр работает на месяц, если я console.log вывод. Он вернет истину в правильный месяц. Он просто не устанавливает выбранное свойство, как функция года.
Есть идеи, чего мне не хватает?