2015-11-05 94 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

相关问题