【问题标题】:jQuery datepicker show next month if near the end of current monthjQuery datepicker 显示下个月,如果接近本月末
【发布时间】:2012-11-07 10:57:34
【问题描述】:

如果当前日期接近月底,如何设置日历自动显示下个月?

解决日历一直默认的问题。

目前我有:

$(predecessor+"input.datePicker").datepicker({
    minDate: 0,
    changeMonth: true,
    dateFormat: "dd/mm/yy",
    firstDay: 1,
    hideIfNoPrevNext: true,
    showAnim: 'slideDown',
    showOn: "both",  
    showOtherMonths: true,
    showStatus: true,
    maxDate: '-1d'
});

【问题讨论】:

    标签: jquery jquery-ui-datepicker


    【解决方案1】:

    使用beforeShow事件设置属性numberOfMonths

    $('#calendar').datepicker({
        //minDate: 0,
        changeMonth: true,
        dateFormat: "dd/mm/yy",
        firstDay: 1,
        hideIfNoPrevNext: true,
        showAnim: 'slideDown',
        showOn: "both",  
        showOtherMonths: true,
        showStatus: true,
        //maxDate: '-1d'
        beforeShow: function(text, inst){        
            var next_day = new Date(
                inst.selectedYear,
                inst.selectedMonth,
                inst.selectedDay
            );        
            next_day.setDate(next_day.getDate()+1);
            console.log(inst.selectedMonth);
            console.log(next_day.getMonth());
            if(inst.selectedMonth != next_day.getMonth())
                return {numberOfMonths: 2};
            else
                return {numberOfMonths: 1};
        }
    }).datepicker("setDate", "+0d" );​
    

    演示:http://jsfiddle.net/Z44PQ/1/,选择 11 月 30 日再次打开。

    【讨论】:

      【解决方案2】:

      Datepicker 有一个 defaultDate 选项,用于指定从哪一天开始突出显示。

      因此,如果您想出自己的逻辑来确定下个月什么时候开始,那应该很简单。

      var defaultDate = new Date();
      if(advanceMonth){
        defaultDate = new Date(defaultDate.getYear(), defaultDate.getMonth() + 1, 1, 0, 0,0)
      }
      
      $(predecessor+"input.datePicker").datepicker({
        defaultDate: defaultDate
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多