【问题标题】:Jquery datepicker dropdown shows current date not the selected dateJquery datepicker 下拉菜单显示当前日期而不是所选日期
【发布时间】:2018-06-01 17:12:50
【问题描述】:

如果您查看,开始日期的选定值是“2016 年 12 月”,但是当我单击它时,它会显示当前月份和年份。它应该显示选定的值(2016 年 12 月)。 知道如何解决吗?

下面是开始日期日期选择器的代码:

$('#startDateEdEdit').datepicker({
        changeMonth: true,
        changeYear: true,
        showButtonPanel: true,
        dateFormat: 'MM yy',
        setDate: startDateEd,
        yearRange: `1920:${todayYear+10}`,
        onClose: function(dateText, inst) {
            startDateEdEdit = new Date(inst.selectedYear, inst.selectedMonth, 1);
            $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
            if(endDateEdEdit < startDateEdEdit){
                $('#endDateEdEdit').datepicker('setDate',null);
            }
            else {
                var duration = $('#endDateEdEdit').datepicker('getDate')?durationCalculator(startDateEdEdit, endDateEdEdit):null;
                document.getElementById('durationEdit').value = duration.duration;
                document.getElementById('eduEdit-duration').value = duration.years;
            }
        }
    });

【问题讨论】:

标签: javascript jquery date datepicker


【解决方案1】:

datepicker 日期格式字段似乎存在一些问题。你能做的就是用dateFormat: 'dd MM, yy'代替dateFormat: 'MM yy',这样行吗?

【讨论】:

  • 但我不希望用户选择日期。我只想让用户选择月份和年份。
【解决方案2】:

您需要在 onClose 和 beforeShow 事件之间进行调整。

$(function() {
$('.date-picker').datepicker( {
    changeMonth: true,
    changeYear: true,
    showButtonPanel: true,
    dateFormat: 'MM yy'
 onClose: function() {
    var iMonth = $("#ui-datepicker-div .ui-datepicker-month :selected").val();

    var iYear = $("#ui-datepicker-div .ui-datepicker-year :selected").val();

    $(this).datepicker('setDate', new Date(iYear, iMonth, 1));

 },
 beforeShow: function() {

   if ((selDate = $(this).val()).length > 0)

   {
      iYear = selDate.substring(selDate.length - 4, selDate.length);
      iMonth = jQuery.inArray(selDate.substring(0, selDate.length - 5),
               $(this).datepicker('option', 'monthNames'));

      $(this).datepicker('option', 'defaultDate', new Date(iYear, iMonth, 1));
      $(this).datepicker('setDate', new Date(iYear, iMonth, 1));
   }
}
});});

JSFiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多