Javascript 更改月份后的Jquery Datepicker触发器(在月份之后)

Javascript 更改月份后的Jquery Datepicker触发器(在月份之后),javascript,jquery,jquery-ui,datepicker,uidatepicker,Javascript,Jquery,Jquery Ui,Datepicker,Uidatepicker,我想强调本月的一些日子。我可以在第一个月这样做,但不能在点击“下个月”或“上个月”后的新月份这样做。我尝试使用onChangeMonthYear事件,但它在新(或上一个)月份呈现之前执行 有什么想法吗?您最好的选择可能是在ShowDay回调之前使用 您可以根据日期条件为单元格指定新的类名。您可以使用自定义的“renderCallback”对my进行此操作 e、 g.禁用周末并添加一个用于设置这些日子样式的类。还有很多其他的可能也有帮助 $('.date-pick') .datePick

我想强调本月的一些日子。我可以在第一个月这样做,但不能在点击“下个月”或“上个月”后的新月份这样做。我尝试使用onChangeMonthYear事件,但它在新(或上一个)月份呈现之前执行


有什么想法吗?

您最好的选择可能是在ShowDay回调之前使用

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

您可以使用自定义的“renderCallback”对my进行此操作

e、 g.禁用周末并添加一个用于设置这些日子样式的类。还有很多其他的可能也有帮助

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

此外,如果您愿意,日历重新呈现后会有一个事件,您可以循环日历内容并进行高亮显示…

这是我的一个,jQuery插件开发人员最大的抱怨是——我还没有看到他们触发自定义事件的地方,这样像你我这样的人就可以获得一些自定义功能。@Peter jQuery UI中使用的每个自定义事件都在jQuery UI站点上有详细的文档。@Alex,你没有领会我的意思。插件应该触发自己的事件,以便父脚本能够捕获这些事件并采取行动。类似于
$(this).trigger('ui datepicker:after month loaded')
将允许用户278860执行其要求的操作-他只需要添加一个
$.bind()
@Alex-否。这些不是自定义触发事件。这些是事件回调。我不打算在评论中讨论所涉及的差异,以及定制触发事件所提供的力量。我知道jQueryUI组件做了什么,我希望它们能做什么。嗯,我们这里说的是两个不同的日期选择器吗?我一直使用的是jquery.com上的一个,你称它为“$.datepicker();”,但是vitch给我们的链接是“$.datepicker();”。。有两个未记录的函数(在jquery.com上),比如“renderCallback”。
        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)
    }