1

我正在使用 pickadate.js 作为到达和离开日期,并且希望离开日期不允许在到达日期或之前的任何日期,并将出发日期设置为集中在到达日期之后的日期。因此,例如 2016 年 12 月 16 日的到达将只允许选择从 12 月 17 日开始的出发日期。这就是我所拥有的:

        <script src="pickadate/lib/jquery.js"></script>
        <script src="pickadate/lib/picker.js"></script>
        <script src="pickadate/lib/picker.date.js"></script>
        <script src="pickadate/lib/legacy.js"></script>
        <script type="text/javascript">
            $('#dateArrival').pickadate({
                min: true,
                max: new Date(2018,12,31),
                format: 'd mmm yyyy',   // Friendly format displayed to user
                formatSubmit: 'yyyy-mm-dd', // Actual format used by application
                hiddenName: true,           // Allows two different formats
                disable: [ // Dates already booked
                new Date(2016,11,13),
                new Date(2016,11,29)
                ]
            });

            $('#dateDepart').pickadate({
                min: true,
                max: new Date(2018,12,31),
                format: 'd mmm yyyy',
                formatSubmit: 'yyyy-mm-dd',
                hiddenName: true,
                disable: [
                new Date(2016,11,13),
                new Date(2016,11,29)
                ]
            });
        </script>
4

1 回答 1

2
var frompic = $('#input_from').pickadate();
var topic   = $('#input_to').pickadate();

初始化后,检索选择器对象

fromIns = frompic.pickadate('picker');
toIns   = topic.pickadate('picker');

添加set事件处理程序

fromIns.on('set', function(event) {
  if ( event.select ) {
    sel =  fromIns.get('select'); //get entered date
    newDte = new Date( sel.year,sel.month,sel.date ) ;
    newDte.setDate(newDte.getDate()+1); // inc date by 1
    toIns.set('min', new Date( newDte.getFullYear(),newDte.getMonth(),newDte.getDate()));
 }
});
于 2016-11-01T06:06:25.700 回答