2017-01-10 151 views
1

我有兩個只選擇月份和年份的日期選擇器。我需要驗證這兩個日期選擇器。如果我從onedatepicker(starDate)中選擇一個月和一年,則應在seconddatepicker(endDate)中禁用2017年2月和之前的所有日期(如2017年1月,2016年12月,2016年11月等)。我設置了一個minValue但不起作用。如何在jquery datepicker中無日期驗證開始和結束日期。

這是我fiddle

<p>Start Date 1: <input type="text" id="startDate"></p> 
<p>End Date 1: <input type="text" id="endDate"></p> 

<script> 
    $("#startDate").datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     beforeShowDay: function (date) { 
      return ['']; 
     }, 
     showButtonPanel: true, 
     dateFormat: 'MM yy', 
     onClose: function (dateText, inst) { 
       var minValue = $(this).val(); 
      jQuery(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1)); 
      $("#endDate").datepicker({ 
       changeMonth: true, 
       changeYear: true, 
       beforeShowDay: function (date) { 
        return ['']; 
       }, 
       showButtonPanel: true, 
       dateFormat: 'MM yy', 
       minValue:minValue, 
       onClose: function (dateText, inst) { 
        jQuery(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1)); 
       }, 
      }); 
     }, 
    }); 

<script> 

感謝。 :)

+0

重複:http://stackoverflow.com/questions/3827425/jquery-ui-datepicker-range – deepakssn

回答

1

得到了我的答案。 :)

小提琴:https://jsfiddle.net/n1gzbkru/2/

$("#startDate").datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     beforeShowDay: function (date) { 
      return ['']; 
     }, 
     showButtonPanel: true, 
     dateFormat: 'MM yy', 
     onClose: function (dateText,inst) { 
      $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1)); 
      var month = inst.selectedMonth; 
      console.log(month); 
      $("#endDate").datepicker({ 
       changeMonth: true, 
       changeYear: true, 
       minDate:"+"+(month+1)+"m", 
       beforeShowDay: function (date) { 
        return ['']; 
       }, 
       showButtonPanel: true, 
       dateFormat: 'MM yy', 
       onClose: function (dateText,inst) { 
        jQuery(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1)); 
       }, 
      }); 
     }, 
    }); 
相關問題