如何动态更改 jquery Date picker 的选定日期? 我说创建了一个内联的日期选择器。 然后在一段时间之后,我想在那里反映一个不同的日期,而不需要从头开始重新创建数据采集器。
我尝试了 setDate 方法,但是不起作用,而且在 医生中没有太多的文档。
还有另一个(扩展?)插件 给你,但我想使用 jquery.ui.all.js 附带的插件。
我在 setDate 方法上也遇到了很多麻烦。似乎只能在 v1中使用。然而,使用 dpSetSelected 方法似乎可以奏效:
$("#dateselector").dpSetSelected(new Date(2010, 0, 26).asString());
祝你好运!
你使用的是什么版本的 jQuery-UI? 我用1.6 r6、1.7和1.7.1测试了下面的代码,它们都能正常工作:
//Set DatePicker to October 3, 2008 $('#dateselector').datepicker("setDate", new Date(2008,9,03) );
由于某些原因,在某些情况下,我无法使 setDate 工作。
我发现的一个变通方法是简单地更新给定输入的 value 属性。 当然,数据采集器本身不会更新,但是如果您只是想显示日期,那么它工作得很好。
var date = new Date(2008,9,3); $("#your-input").val(date.getMonth()+"/"+date.getDate()+"/"+date.getFullYear()); // Will display 9/3/2008 in your #your-input input
注意到 Keith Wood 的 DatePicker (http://keith-wood.name/datepickRef.html)的以下工作——注意默认日期的设置是最后一个:
$('#datepicker').datepick({ minDate: 0, maxDate: '+145D', multiSelect: 7, renderer: $.datepick.themeRollerRenderer, ***defaultDate: new Date('1 January 2008')*** });
如果设置了 minDate 或 maxDate 选项,请检查试图将其设置为的日期是否在允许的日期范围内。
SetDate 似乎只是 jquery UI 中使用的内联数据采集器的一个问题,具体的错误是 InternalError: 递归过多。
此示例演示如何在下拉日历中使用默认值,并在文本框中使用值。它还显示了如何将默认值设置为以前的日期。
SelectedDate 是保存日历控件当前选定日期的另一个变量
var date = new Date(); date.setDate(date.getDate() - 1); $("#datepicker").datepicker({ dateFormat: "yy-mm-dd", defaultDate: date, onSelect: function () { selectedDate = $.datepicker.formatDate("yy-mm-dd", $(this).datepicker('getDate')); } }); $("#datepicker").datepicker("setDate", date);
或者你可以直接
$('.date-pick').datePicker().val(new Date()).trigger('change')
这对我有用:
$("#dateselector").datepicker("option", "defaultDate", new Date(2008,9,3));
这是一个老线程,但我只是想提供一些信息,我如何使用。如果您想设置今天的日期,您可以简单地应用它,如下所示。
$("#datepickerid").datepicker("setDate", "0");
如果你想在当前日期之前或之后设置一些天数,那么使用符号 -/+来表示你想要的天数,如下所示。
-/+
$("#datepickerid").datepicker("setDate", "-7"); $("#datepickerid").datepicker("setDate", "+5");
终于,我找了几个小时了!我需要启动更改,而不只是在文本字段设置日期!
在 Html 中,您可以使用如下的日期选择器添加输入字段
<input class="form-control date-picker fromDates" id="myDate" type="text">
然后在 java 脚本中,初始化你的数据采集器,并像这样设置你的值为日期,
$('.fromDates').datepicker({ maxDate: '0', dateFormat: "dd/mm/yy", changeYear: true, changeMonth: true, yearRange: "-100:+0" }); var myDateVal = moment('${value}').format('DD/MM/YYYY'); $('#myDate').datepicker().datepicker('setDate', myDateVal );
(这里的 FROM date 属性显示当前日期的前一个日期)
var dt = new Date(); var renewal = moment(dt).add(1,'year').format('YYYY-MM-DD'); // moment().add(number, period) // moment().subtract(number, period) // period : year, days, hours, months, week...
请找到以下一个,它帮助我很多设置数据功能
$(’# datepicker’) . datepicker ({ dateFormat: ‘ yy-mm-dd’}) . datepicker (‘ setDate’,‘2010-07-25’) ;