jQuery datepicker设置选定的date,在飞行中

如何dynamic地更改jquery Dateselect器的选定date? 我有说创build一个内联dateselect器。 然后过了一段时间,我想反映一个不同的date,从头开始重新创builddateselect器。

我尝试了setDate方法,但没有工作,文档中没有太多的文档 。

这里还有另一个(扩展?)插件,但我想使用jquery.ui.all.js附带的插件。

你使用的是什么版本的jQuery-UI? 我用1.6r6,1.7和1.7.1testing了下面的代码

//Set DatePicker to October 3, 2008 $('#dateselector').datepicker("setDate", new Date(2008,9,03) ); 

如果设置了minDate或maxDate选项,请检查您尝试设置的date是否在允许的date范围内。

注意到对于Keith Wood的DatePicker( http://keith-wood.name/datepickRef.html ),以下工作 – 请注意,默认date的设置是最后的:

  $('#datepicker').datepick({ minDate: 0, maxDate: '+145D', multiSelect: 7, renderer: $.datepick.themeRollerRenderer, ***defaultDate: new Date('1 January 2008')*** }); 

此示例显示如何在文本框中的下拉日历和值中使用默认值。 它还显示如何将默认值设置为上一个date。

selectedDate是保存日历控件当前选定date的另一个variables

  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); 

出于某种原因,在某些情况下,我无法使setDate工作。

我find的解决方法是简单地更新给定input的值属性。 当然datepicker本身不会被更新,但如果你只是寻找的是显示date,它工作正常。

 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 

setDate似乎只是在jQuery UI中使用的内联datepicker的问题,具体的错误是InternalError:太多的recursion。

这适用于我:

 $("#dateselector").datepicker("option", "defaultDate", new Date(2008,9,3)); 

我也有setDate方法很多麻烦。 似乎只能在v1中工作。 什么似乎工作,但是使用dpSetSelected方法:

  $("#dateselector").dpSetSelected(new Date(2010, 0, 26).asString()); 

祝你好运!

或者你可以简单地拥有

 $('.date-pick').datePicker().val(new Date()).trigger('change')