2011-10-19 4 views
3

두 개의 날짜 필드 ("pickup"및 "dropin")를 만들었습니다. 그리고 다음 사항을 확인하고 싶습니다.jQuery UI datepicker 날짜 범위 문제

  1. 픽업 날짜는 dropin 날짜보다 빠릅니다.

  2. 사용자가 이미 드롭 인 및 픽업 날짜를 선택하고 나중에 픽업 날짜를 드롭 인 날짜보다 나중에 변경하면 스크립트는 사용자가 선택한 것보다 나중에 자신의 드롭 인 날짜를 자동으로 변경합니다. (예 : 사용자가 가져온 날짜에 "12/07/2011"을 넣고 dropin 날짜에 "13/07/2011"을 넣은 후 나중에 가져온 날짜를 "13/08/2011"로 변경합니다. 그렇다면 스크립트 다음은 내가 지금 데 코드입니다,이 사이트에서 스레드 중 하나라고.

DROPIN 날짜로 "13/08/2011"로 설정하십시오. 그리고합니다.

$.datepicker.setDefaults({dateFormat: 'dd/mm/yy'}); 
    $("#pickup").datepicker({ 
      onSelect: function(dateText, inst){ 
       var minDate = $(this).datepicker('getDate'); 
       $('#dropin').datepicker('destroy').datepicker({ 
         minDate: minDate 
        }); 
      }, 
      onClose: function(dateText, inst) { 
       if(dateText == '') { 
        $('#dropin').val(''); 
       $('#dropin').datepicker('destroy').datepicker(); 
       } 
      } 
      }); 

      $("#dropin").datepicker(); 
      var set=$("#dropin").datepicker('getDate'); 
      alert(set.getDate()); 

첫 번째 조건을 만족하는 것으로 보입니다. 그러나 두 번째 제약 조건에 대해서는 전혀 알지 못하며 's'가 null이라는 것을 계속 알려줍니다.

문제를 해결할 수 있습니까? 대단히 감사합니다. 이 같은

+0

합니까 jQuery를 UI의 웹 사이트 도움의 날짜 범위 예? http://jqueryui.com/demos/datepicker/#date-range –

+0

두렵지 않습니다 ... 나는이 물건에 초보자입니다. 모든 페이지를 검색했지만 행운은 없습니다. 내가 dropin 날짜 'null'을 왜 이해가 안 돼요. –

+0

jsfiddle.net에서이 예제를 설정해 주시면 쉽게 디버깅 할 수 있습니까? –

답변

1

해보십시오 somethig에 :

var date = new Date(); 
    $.datepicker.setDefaults({ 
     'dateFormat' : 'yy-mm-dd', 
     'onSelect' : function(dateText, inst){ 
      instance = $(this).data('datepicker'), 
      selectedDate = $.datepicker.parseDate(
       instance.settings.dateFormat || $.datepicker._defaults.dateFormat, 
       dateText, 
       instance.settings 
      ); 
      if (this.id == 'datepicker-pickup') { 
       $('#' + 'datepicker-dropin') 
        .datepicker('option', 'minDate', selectedDate) 
        .datepicker('refresh'); 
       datePickup = dateText; 
      } 
      if (this.id == 'datepicker-dropin') { 
       $('#' + 'datepicker-pickup') 
        .datepicker('option', 'maxDate', selectedDate) 
        .datepicker('refresh'); 
       dateDropin = dateText; 
      } 
     } 
    }); 
    $('#datepicker-pickup').datepicker({ 
     'defaultDate' : datePickup, 
     'maxDate' : dateDropin 
    }); 
    $('#datepicker-dropin').datepicker({ 
     'defaultDate' : dateDropin, 
     'minDate' : datePickup, 
     'maxDate' : new Date(date.getFullYear(), date.getMonth(), date.getDate()) 
    });