(это работает только в Chrome на данный момент, так как большинство браузеров еще не реализует выбор даты для типа ввода = "дата" )
В следующем примере MyDate запускается как объект Date с текущей датой, но это не подхватывается вводом даты (который ожидает, что его формат будет строкой в формате YYYY/MM/DD).
Как только вы выбрали дату в сборщике, MyDate станет строкой в формате выше.
Как вы можете связать это так, чтобы MyDate оставался датой javascript и правильно интерпретировался с помощью управления вводом?
См. раздел http://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>