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>

Antworten auf die Frage(8)

Ihre Antwort auf die Frage