Ich benutze Bootstrap Datepicker zusammen mit einem Line Highchart.
Ich möchte, dass das Datum der Datumsauswahl aktualisiert wird, wenn das Diagramm gezoomt wird. Sobald dieses Ereignis ausgelöst wird, aktualisiere ich die Werte des Datepickers. Die Werte werden problemlos aktualisiert, aber wenn auf den Kalender geklickt wird, ist das Datum im Popup-Kalender immer noch das alte Datum.
Hier ist mein 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>
Ich habe versucht, nur die Werte mit diesem Code zu aktualisieren:
$('#dpStartDate').attr('data-date', startDate);
$('#startDateText').attr('value', startDate);
Dadurch werden die Daten in Ordnung aktualisiert, der Kalender wird jedoch nicht festgelegt.
Ich habe auch versucht, das Ereignis onChange auszulösen, bei dem auch die Daten, jedoch nicht der Kalender aktualisiert werden:
$('#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();
});
Weiß jemand, ob es überhaupt möglich ist, den Kalender so zu aktualisieren?
Vielen Dank
html
. Wie, wenn Format ist"dd.mm.yyyy"
, beim Aktualisieren wie dieses Ergebnisdatetime
des Formats"mm/dd/yyyy"
. Gibt es eine Problemumgehung dafür?