jquery ui datepicker опция dateformat не отвечает должным образом - PullRequest
1 голос
/ 19 марта 2019

Я хочу использовать средство выбора даты jquery ui, чтобы выбирать месяцы и годы. После поиска по сайтам я создал эту функцию:

$(".datepickerSchedule").datepicker({
            showOn: "both",
            changeMonth: true,
            changeYear: true,
            dateFormat: "yy-mm",
            minDate: new Date(taskStartDate),
            showButtonPanel: true,  

            onClose: function(dateText, inst) { 
                function isDonePressed(){
                   return $('#ui-datepicker-div').html().indexOf('ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all ui-state-hover') > -1;
                }

                if (isDonePressed()){
                    var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
                    var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
                    $(this).datepicker('setDate', new Date(year, month, 1));
                }
            }

        }).focus(function(){
            $(".ui-datepicker-calendar").hide();    
        });

Так что в фокусе я скрываю календарь, и только когда я нажимаю «Готово», первая выбранная дата месяца устанавливается на «Выбор даты».

После выбора месяца формат отображается правильно в виде мм-гг.

Но на моем экране я загружаю с датами тимелист из БД, и там у меня есть проблема, потому что формат даты не работает, и я получаю даты как гг-мм-дд. Объект модели, который я использую для установки ввода, имеет переменную Date (хотя это заставляет меня поверить, что у него есть проблема с синтаксическим анализом, потому что тип ввода - текст)

Также, когда я устанавливаю формат как «мм-гг», средство выбора даты не распознает дату, которая уже существует в поле, и открывается в текущем месяце, поэтому, например, если у меня есть 2017-11-01, средство выбора даты откроется до марта 2019 года. (это не происходит, если dateformat равен "гг-мм-дд", но происходит, если оно "мм-гг" или "гг-мм")

Последняя часть, как я могу исключить выбор месяца для года? Я знаю о конкретных датах, но могу ли я это сделать, если из чтения в день исключить полный месяц?

...