JQuery 数据采集器动态设置选定日期

如何动态更改 jquery Date picker 的选定日期? 我说创建了一个内联的日期选择器。 然后在一段时间之后,我想在那里反映一个不同的日期,而不需要从头开始重新创建数据采集器。

我尝试了 setDate 方法,但是不起作用,而且在 医生中没有太多的文档。

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

431810 次浏览

我在 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");
$('.date-pick').datePicker().val(new Date()).trigger('change')

终于,我找了几个小时了!我需要启动更改,而不只是在文本字段设置日期!

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