首页 > 解决方案 > $.datepicker._curInst 如果没有从 datepicker 中选择日期,则为 null

问题描述

我有以下代码使用外部按钮在日期选择器中移动日期。

 function moveDay(n) {
        var date = new Date($.datepicker._curInst.selectedYear, $.datepicker._curInst.selectedMonth, $.datepicker._curInst.selectedDay);
        date.setDate(date.getDate() + n);
        $("#txtDateFilter").datepicker().datepicker("setDate", new Date(date));

    }

我的问题是,如果我不单击日期选择器并选择一天,则 _curInst 为空。所以,我需要知道如何避免这种情况。

这是我的 Datepicker 初始化(defaultDatePickerSetting 仅用于翻译):

            $("#txtDateFilter").datepicker($.extend({
                changeMonth: true,
                dateFormat: "dd/mm/yy",
                onSelect: function (dateText, inst) {
                    $("#hdnMes").val(inst.selectedMonth + 1);
                    $("#hdnAño").val(inst.selectedYear);

                }
            }, defaultDatePickerSetting));

            $("#txtDateFilter").datepicker().datepicker("setDate", new Date());

标签: jquery-uidatepicker

解决方案


我解决了它改变这一行:

var date = new Date($.datepicker._curInst.selectedYear, $.datepicker._curInst.selectedMonth, $.datepicker._curInst.selectedDay);

对此

 var date = $("#txtDateFilter").datepicker("getDate");

推荐阅读