Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery Datepicker:用户将选择下个月还是上个月?_Jquery_Jquery Ui_Jquery Ui Datepicker - Fatal编程技术网

jQuery Datepicker:用户将选择下个月还是上个月?

jQuery Datepicker:用户将选择下个月还是上个月?,jquery,jquery-ui,jquery-ui-datepicker,Jquery,Jquery Ui,Jquery Ui Datepicker,我需要在用户单击“下一个”月或“上一个”月后,用自定义css重新填充datepicker。我正在点击onChangeMonthYear事件,但不知道用户的方向(下个月还是上个月)。有什么简单的东西可以给我这个吗?如果不是,最简单的解决方案是什么 *在此处添加代码以澄清问题请注意,事件实际上是通过服务器端传入的,我在构建时刚刚在此处模拟了一些数据* var Event = function(text, className) { this.text = text;

我需要在用户单击“下一个”月或“上一个”月后,用自定义css重新填充datepicker。我正在点击onChangeMonthYear事件,但不知道用户的方向(下个月还是上个月)。有什么简单的东西可以给我这个吗?如果不是,最简单的解决方案是什么

*在此处添加代码以澄清问题请注意,事件实际上是通过服务器端传入的,我在构建时刚刚在此处模拟了一些数据*

 var Event = function(text, className) {
            this.text = text;
            this.className = className;
        };

        var events = {};
        events[new Date("11/12/2012")] = new Event("A Good Day", "yellowDot");
        events[new Date("11/20/2012")] = new Event("Mkay", "blueDot");

        $('#date').datepicker({              
           beforeShowDay: function (date) {
               var event = events[date];
               if(event) {
                   return [true, event.className, event.text];
               }
               else {
                   return [true, '', ''];
               }
           },
           onChangeMonthYear: function () {
               //reload another calendar, past or future?

           }
        });
您正在将处理程序函数传递给datepicker小部件。将使用三个参数调用该函数:

  • 新的一年,
  • 新选定的月份
  • datepicker小部件实例
因此,您可以编写如下内容:

onChangeMonthYear: function(year, month, widget) {
    reloadCalendar(month, year);
}
小部件实例参数作为快捷方式提供,以避免在您想要操作自动完成小部件时通过桥接。例如,如果您想立即关闭日期选择器,它允许您写入:

widget.hide();
而不是:

$(this).datepicker("hide");

Datepicker是动态创建的,因此您应该使用
.live

$('.ui-datepicker-next').live("click", function() {
  alert(1)
}

你能提供更多的细节说明为什么你必须知道改变的方向吗?这可能有助于我们更好地理解你的意图。就你的问题而言,我只能建议绑定到
上的
点击
下一步
按钮上的
事件,而不是处理
onChangeMonthYear
。我在日历上设置了一些日期“可点击”。因此,如果用户继续,我需要点击一些数据,并带回当月的约会,将它们放在“新月份”视图中。上个月也是如此。好吧,但为什么你需要改变的方向来这样做呢?您可以使用新选择的月份和年份来查询数据并相应地更新小部件。或者我遗漏了什么?当点击“下一步”按钮时,我不知道日期是什么,也不知道他们在哪个月。还是有办法告诉你?对不起,我不是故意装傻。你让我很开心。