我使用bootstrap datepicker和一行highchart。
我想要在图表缩放时更新日期戳日期。一旦该事件触发,我更新datepicker的值。值更新正常,但当单击日历时,弹出日历上的日期仍然是旧日期。
这是我的datepicker:
<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);
它更新日期很好,但不设置日历。
我也试过触发onChange事件,它也更新日期而不是日历:
$('#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());