【问题标题】:jQuery UI Datepicker Month & Year Menus Only Work OncejQuery UI Datepicker 月和年菜单只工作一次
【发布时间】:2013-07-16 07:38:26
【问题描述】:

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

  • 点击日期字段
  • 将月份下拉菜单更改为一月
  • 将年份下拉菜单更改为 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
    });
  });

【问题讨论】:

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


【解决方案1】:

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

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

代码:

$("#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/

【讨论】:

    【解决方案2】:

    只有当您点击特定日期时,jQuery-ui 日期选择器才会改变。

    他们就是这样设计的。

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

    【讨论】:

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