更改月份后的Jquery Datepicker触发器(月后渲染)

时间:2010-02-22 17:04:14

标签: javascript jquery jquery-ui datepicker uidatepicker

我想强调本月的某些日子。我可以在第一个月执行此操作,但不会在“下个月”或“上个月”点击后的新月份执行此操作。我尝试使用onChangeMonthYear事件,但这会在新(或上个月)渲染之前执行。

任何想法?

3 个答案:

答案 0 :(得分:1)

可能你最好的选择是beforeShowDay回调。

http://jqueryui.com/demos/datepicker/#event-beforeShowDay

您可以根据日期条件指定单元格的新类名。

答案 1 :(得分:1)

您可以使用我的jQuery datepicker使用自定义“renderCallback”执行此操作。

e.g。 This example禁用周末并添加一个用于样式化的类。还有很多其他complex examples可能也有帮助...

$('.date-pick')
    .datePicker(
        {
            renderCallback:function($td, thisDate, month, year)
            {
                if (thisDate.isWeekend()) {
                    $td.addClass('weekend');
                    $td.addClass('disabled');
                }
            }
        }
    );

此外,如果您愿意,一旦重新呈现日历,就会发生dpMonthChanged事件,您可以遍历日历的内容并突出显示...

答案 2 :(得分:0)

        hack:
         $('#calendar').datepicker({
                                    onChangeMonthYear: function (year, month, inst) {
                                        setEventsDay()
                                    }
                                 });
function setEventsDay(){
    var days = $(".ui-state-default");
                   console.log(days.length);   //31 from august to Sep 
        setTimeout(function () {
                    var days = $(".ui-state-default");
                   console.log(days.length);     //30 `enter code here`from august to Sep 

                }, 100)
    }