2016-08-26 4 views
0

을 반환하면 null을 반환합니다. 두 개가 두 개가 필요합니다. 두 번째 것은 첫 번째 것보다 작아야합니다. datepickersjquery datepicker getdate return null <code>JQuery</code><code>datapicker</code><code>getDate</code>을 사용하면

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입니다.

+1

같은 ("#의 시작 날짜") .datepicker onSelect를 이벤트에의 startDate 변수를 지정해야합니다 .. ?? 첫 번째 캘린더 날짜를 선택하면 두 번째 캘린더는 첫 번째 캘린더에서 선택한 날짜와 같이 최소 날짜를 자동으로 가져와야합니다. – Vish

답변

2

다음 코드를 사용하십시오.

'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

1

당신의 JQuery와 파일을로드 할 때 매우 처음의 startDate 변수를 할당하기 때문에 null로, 그 시간을 참조하십시오 날짜를 얻으려고 할 때 제어하십시오.

당신은 $ 정확히 당신이 원하는 무엇을이

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 
    }); 
관련 문제