Wie binde ich mit Knockout.js eine Date-Eigenschaft an eine HTML5-Datumsauswahl?
(Dies funktioniert derzeit nur in Chrome, da die meisten Browser die Datumsauswahl für Eingabetyp = "Datum" noch nicht implementieren.)
Im folgenden Beispiel wird MyDate als Date-Objekt mit dem aktuellen Datum gestartet, dies wird jedoch von der Datumseingabe nicht berücksichtigt (die erwartet, dass das Format eine Zeichenfolge im Format JJJJ / MM / TT ist).
Sobald Sie ein Datum in der Auswahl ausgewählt haben, wird MyDate zu einer Zeichenfolge im obigen Format.
Wie kann man das binden, damit MyDate ein Javascript-Datum bleibt und vom Eingabesteuerelement richtig interpretiert wird?
Schau Schauhttp://jsfiddle.net/LLkC4/3/ : -
<input data-bind="value : MyDate" type="date">
<hr>
<span data-bind="html: log" />
<script>
var viewModel = {
MyDate : ko.observable(new Date()),
log : ko.observable(""),
logDate : function () {
this.log(this.log() + this.MyDate() + " : " +
typeof(this.MyDate()) + "<br>");
}
};
viewModel.MyDate.subscribe(function (date) {
viewModel.logDate();
});
ko.applyBindings(viewModel);
viewModel.logDate()
</script>