datepicker - 选择月/年后填充字段

时间:2012-01-05 00:35:14

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

我正在使用带有

的JQuery UI datepicker插件
changeMonth: true,
changeYear: true

但保留日期的文本字段仅在用户实际点击一天时更新。如果用户选择月份和年份,然后在日期选择器弹出窗口外单击,我希望该字段包含所选月份和年份的第一天。

目前,除非用户实际点击特定日期,否则文本字段不会更新。任何熟悉插件的人都可以告诉我是否有办法解决这个问题?

2 个答案:

答案 0 :(得分:2)

您可以通过定义onChangeMonthYear回调函数来自己填充字段的文本 来自文档:

onChangeMonthYear:允许您在datepicker移动到新的月份和/或年份时定义自己的事件。该函数接收选定的年份,月份(1-12)和datepicker实例作为参数。这指的是相关的输入字段。

代码示例

提供一个回调函数来处理onChangeMonthYear事件作为init选项。

$('.selector').datepicker({
   onChangeMonthYear: function(year, month, inst) { ... }
});

所以这就是你想要的:

  $('.selector').datepicker({
   onChangeMonthYear: function(year, month, inst) { 
       $(this).val(month + "/" + year);
   }
});

Example here

答案 1 :(得分:1)

也许你可以使用这样的东西:

 $('.selector').datepicker({
    onChangeMonthYear: function(year, month, inst) {
       var day = $(this).datepicker('getDate').getDate();
       $(this).datepicker( "setDate", month+'/'+day+'/'+year);
    }
 });

小心使用位置日期格式。

此处填写示例代码:http://jsfiddle.net/FagGK/