2015-11-05 154 views
0

我有兩個只返回年份(即2014/2015)的日期選擇器。日期選擇器56必須等於或大於datepicker55,它在一個重新考慮下面的代碼實現。 Datepicker56選擇時可以等於或大於datepicker55但是如果我將datepicker55更改爲2011/2012,然後選擇datepicker56將我的年份修改爲2011/2012,它不會讓我,它是2015年第一個可選年份棒。Datepicker56可以是也自行選擇。但是,如果選擇了55,然後再將其移除,56再次在2015年停滯不前,並且不會選擇任何前幾年。有沒有辦法解決這些問題?jQuery datepicker限制可選年份

$("#datepicker55").datepicker({ 
    dateFormat: "yy", 
    onSelect: function(d) { 
     $(this).val((parseInt(d) - 1) + '/' + d); 
     var date1 = $('#datepicker55').datepicker('getDate'); 
     var date = new Date(Date.parse(date1)); 
     date.setDate(date.getDate() + 1); 
     var newDate = date.toDateString(); 
     newDate = new Date(Date.parse(newDate)); 
     $('#datepicker56').datepicker("option", "minDate", newDate); 

    }, 
    viewMode: "years", 
    changeYear: true, 
    beforeShowDay: $.datepicker.noWeekends 
}); 

$("#datepicker56").datepicker({ 
    dateFormat: "yy", 
    onSelect: function(d) { 
     $(this).val((parseInt(d) - 1) + '/' + d); 
    }, 
    viewMode: "years", 
    changeYear: true, 
    beforeShowDay: $.datepicker.noWeekends 
}); 
+0

默認值爲你的意思是什麼, 「如果55選中,然後去掉** **」?你如何「移除」它? – pistou

+0

一個選項可能是從字面上'銷燬'第二個日期選擇器,然後重新初始化它。 –

+0

@pistou,刪除我的意思是隻刪除它所在的框中的值,只需單擊它並刪除它 – Scanner

回答

1

按照Datepicker API docnullminDate

$("#datepicker55").on("change", function() { 
    if ($(this).val() === "") { // you deleted the value from it 
     $("#datepicker56").datepicker("option", "minDate", null); 
    } 
}); 
+1

謝謝pistou。儘管我並不想從56中刪除這個值,但我只是想在重新選擇時重置日曆值,但這適用於我所需要的。 – Scanner

相關問題