jquery datepicker确定下个月点击的第一个显示日期

时间:2013-10-16 19:00:05

标签: jquery datepicker jquery-ui-datepicker

我希望在点击下一个(或上个月)时获得日期选择器的第一个显示日期。 datepicker显示2个月(例如11月和12月),当我点击下个月时,我想触发一个函数,第一个日期作为变量,如下所示:

$(document).on('click','.ui-datepicker-next',function(){
  test(first_date);
});

$(function() {
    $( "#vak_kalender" ).datepicker({      
        numberOfMonths: 2,
        minDate: new Date(),            
        maxDate: new Date(volgend_jaar, 24,0),
        beforeShowDay:function highlightDays(date) {
        var timestamp = new Date(Date.UTC(date.getFullYear(),date.getMonth(),date.getDate()));
  var timestamp = timestamp/1000;
  if ($.inArray(timestamp, verhuurt) != -1){
               return [false,'verhuurt'];
            }
        else if ($.inArray(timestamp, gesloten) != -1) {
              return [false,'gesloten'];
          }
        else if ($.inArray(timestamp, wisseldagen) != -1) {
              return [true,'wisseldag'];
          }
        else{return [true, 'beschikbaar'];}
        },
        showWeek: true 
    });  
});

1 个答案:

答案 0 :(得分:0)

以下内容应该有效

$( "#datepicker, #datepicker2" ).datepicker({ numberOfMonths: 2 });
$(document).on('click','.ui-datepicker-next',function(){
  var picker = $.datepicker._curInst;
  var date = new Date(picker.selectedYear, picker.selectedMonth, 1);
  console.log(date);
});

<强> JSFiddle

修改

您使用的是内联日期选择器,因此访问日期选择器的方式略有不同。以下应该有效。

$("#datepicker1" ).datepicker({ numberOfMonths: 2 });
$(document).on('click','.ui-datepicker-next',function(){
    var picker = $("#datepicker1").data("datepicker");
    var date = new Date(picker.selectedYear, picker.selectedMonth, 1);
    console.log(date);
});

<强> JSFiddle