Jquery日期picker getdate返回null

jquery datepicker getdate return null

本文关键字:返回 null getdate picker 日期 Jquery      更新时间:2023-09-26

当我使用JQuery datapicker getDate时,它返回null。我需要两个datepickers,第二个应该比第一个小。

JS文件像这样:

var d = new Date();
var month = d.getMonth()+1;
var day = d.getDate();
var today = d.getFullYear() + '-' +
    (month<10 ? '0' : '') + month + '-' +
    (day<10 ? '0' : '') + day;
var startDate;
$( function() {
    $( "#start-date" ).datepicker({
      dateFormat: 'yy-mm-dd',
        inline: true,
        minDate:'2016-01-01',
        maxDate:today,
        });

    startDate =$( "#start-date" ).datepicker("getDate");
    if(startSDate==null){ 
    startSDate = '2016-01-01'
    }
    $( "#end-date" ).datepicker({
    dateFormat: 'yy-mm-dd',
    inline: true,
    minDate:startDate,
    maxDate:today,
        });
  } );

然而,这不起作用。这里是jsFiddle

请使用以下代码。

    'use strict';
var d = new Date();
var month = d.getMonth()+1;
var day = d.getDate();
var today = d.getFullYear() + '-' +
    (month<10 ? '0' : '') + month + '-' +
    (day<10 ? '0' : '') + day;
var fullSDate;
$( function() {
    $( "#start-date" ).datepicker({
      dateFormat: 'yy-mm-dd',
        inline: true,
        minDate:'2016-05-12',
        maxDate:today,
        });
    $( "#end-date" ).datepicker({
            dateFormat: 'yy-mm-dd',
            inline: true,
            minDate:fullSDate,
            maxDate:today       
    });
    $("#end-date").focusin(function(){
        fullSDate =$( "#start-date" ).datepicker("getDate");
        if(fullSDate==null){ 
             fullSDate = '2016-01-01'
        }
        $( "#end-date" ).datepicker( "option", "minDate", fullSDate);
    });     
  } );

参考Fiddle

它是空的,因为你是分配startDate变量在非常第一次当你的jquery文件加载和时间没有日期在$("#start-date")控制,当你试图获得日期。

你应该在$("#start-date")上分配startDate变量。

   var startDate;
   $("#start-date").datepicker({
    dateFormat: 'yy-mm-dd',
    inline: true,
    minDate:'2016-01-01',
    maxDate:today,
    onSelect: function () {
        startDate =$("#start-date" ).datepicker("getDate");
    }
    });
  $("#end-date").datepicker({
    dateFormat: 'yy-mm-dd',
    inline: true,
    minDate:startDate,
    maxDate:today
    });