jQuery UI Datepicker Month&年菜单只工作一次

时间:2013-07-17 16:16:17

标签: jquery jquery-ui datepicker uidatepicker jquery-ui-datepicker

我正在使用jQuery UI's month and year menus。这是正在发生的事情以及我遇到问题的地方:

  • 点击日期字段
  • 将月份下拉列表更改为Jan
  • 将年度下拉列表更改为2003
  • 点击日历第1天
  • 日期字段已正确填充01/01/2003

这是我遇到问题的地方:

  • 点击日期字段(再次)
  • 更改月份(或年份)下拉列表
  • 日期不会改变
  • 点击日期选择器以隐藏它
  • 日期仍未改变

在输入日期后,有没有办法使用月份或年份下拉列表?

http://jsfiddle.net/ryanburnett/8N9Xq/

<p>Date: <input type="text" id="datepicker" /></p>

$(function() {
    $( "#datepicker" ).datepicker({
      changeMonth: true,
      changeYear: true
    });
  });

2 个答案:

答案 0 :(得分:2)

按照设计,月份更改不会刷新日期选择器;您可以使用onChangeMonthYear选项设置新选择的日期(也可以从下拉列表中设置):

  

当datepicker移动到新的月份和/或年份时调用。该   函数接收选定的年份,月份(1-12)和日期选择器   实例作为参数。这指的是相关的输入字段。

代码:

$("#datepicker").datepicker({
    changeMonth: true,
    changeYear: true,
    onChangeMonthYear: function (year, month, day) {
        $(this).datepicker('setDate', new Date(year, month - 1, day.selectedDay));
    }
});

工作小提琴:http://jsfiddle.net/7Xdhy/

答案 1 :(得分:0)

jQuery-ui datepicker只有在您点击特定日期时才会更改。

这就是他们如何设计的。

如果你想只用几个月和几年,最好写一个你自己的javascript(它更快,相信我......)