如何dynamic设置引导dateselect器的date值?

我正在使用引导dateselect器和一行高图。

我想datepickerdate更新时图表放大。 一旦该事件触发我更新dateselect器的值。 值更新正常,但是当日历被点击时,popup日历上的date仍然是旧date。

这是我的dateselect器:

<div class="input-append date pull-right" id="dpStartDate" data-date="@DateTime.Now.AddMonths(-1).ToString("dd/MM/yyyy")" data-date-format="dd/mm/yyyy"> <input class="span2" id="startDateText" size="16" type="text" value="@DateTime.Now.AddMonths(-1).ToString("dd/MM/yyyy")" readonly=""> <span class="add-on"><i class="icon-th"></i></span> </div> 

我已经尝试使用此代码更新值:

 $('#dpStartDate').attr('data-date', startDate); $('#startDateText').attr('value', startDate); 

哪些更新date好,但不设置日历。

我也试着触发onChange事件,它也更新date,但不是日历:

 $('#dpStartDate').trigger('changeDate', startDate); $('#dpStartDate').datepicker() .on('show', function (ev) { ev.stopPropagation(); }) .on('changeDate', function (ev, date) { var startDate = new Date(); if (date != undefined) { startDate = date; $('#dpStartDate').attr('data-date', startDate); $('#startDateText').attr('value', startDate); } else { startDate = ev.date; $('#dpStartDate').attr(startDate.getDate() + '/' + (startDate.getMonth() + 1) + '/' + startDate.getFullYear()); $('#startDateText').attr(startDate.getDate() + '/' + (startDate.getMonth() + 1) + '/' + startDate.getFullYear()); } $('#dpStartDate').datepicker('hide'); ev.stopPropagation(); }); 

有谁知道是否有可能更新日历呢?

谢谢

这对我有用

 $(".datepicker").datepicker("update", new Date()); 
 var startDate = new Date(); $('#dpStartDate').data({date: startDate}).datepicker('update').children("input").val(startDate); 

其他方式

 $('#dpStartDate').data({date: '2012-08-08'}); $('#dpStartDate').datepicker('update'); $('#dpStartDate').datepicker().children('input').val('2012-08-08'); 
  1. 设置属性数据date的日历date
  2. 需要更新)
  3. 设置input值(记住input是datepicker的子项)。

这样你就把date设置为'2012-08-08'

 $("#datepicker").datepicker("setDate", new Date); 

这对我有用,

$('#datepicker').datepicker("setValue", '01/10/2014' ); $('#datepicker').datepicker("setValue", new Date(2008,9,03));

试试这个代码,

 $(".endDate").datepicker({ format: 'dd/mm/yyyy', autoclose: true }).datepicker("update", "10/10/2016"); 

这将更新date并应用格式dd/mm/yyyy以及。

更好地使用:

 $("#datepicker").datepicker("setDate", new Date); 

代替

 $("#datepicker").datepicker("update", new Date); 

如果使用更新,则不会触发事件changeDate。

我必须做'setValue'和'更新'才能完全工作

 $('#datepicker').datepicker('setValue', '2014-01-29').datepicker('update'); 

这真的很有用。

简单,

容易明白,

单一的方法来设置和更新为我工作的插件。

 $(".datepicker").datepicker("update", new Date()); 

其他方法来更新

 $('.datepicker').data({date: '2015-01-01'}); $('.datepicker').datepicker('update'); 

不要忘记手动调用update

对于datetimepickers使用这个工作对我来说

 $('#lastdate1').data({date: '2016-07-05'}); $('#lastdate1').datetimepicker('update'); $('#lastdate1').datetimepicker().children('input').val('2016-07-05'); 

你也可以这样做:

  $("#startDateText").datepicker({ toValue: function (date, format, language) { var d = new Date(date); d.setDate(d.getDate()); return new Date(d); }, autoclose: true }); 

http://bootstrap-datepicker.readthedocs.org/en/latest/options.html#format

你可以使用这个简单的方法,如:

 qsFromDate = '2017-05-10'; $("#dtMinDate").datepicker("setDate", new Date(qsFromDate)); $('#dtMinDate').datepicker('update'); 

如果您使用的是Bootstrap DatePicker版本4+

注意所有的函数都可以通过数据属性来访问,例如$('#datetimepicker')。data(“DateTimePicker”)。FUNCTION()

要设置date值,您的代码应该是这样的

 $("#datetimepicker").data("DateTimePicker").date(new Date()); 

@伊姆兰答案适用于文本框

将datepicker应用到一个div使用这个:

 $('#div_id').attr("data-date", '1 January 2017'); $('#div_id').datepicker("update"); 

逗号分隔多个date:

 $('#div_id').attr("data-date", '1 January 2017,2 January 2017,3 January 2017');