(目前这仅适用于 Chrome,因为大多数浏览器还没有为 input type="date" 实现日期选择器)
在下面的示例中,MyDate 以具有当前日期的 Date 对象开始,但日期输入不会获取该对象(它期望其格式为格式为 YYYY/MM/DD 的字符串)。
一旦您在选择器中选择了一个日期,MyDate 就会成为上述格式的字符串。
您如何绑定它,以便 MyDate 保持 javascript Date 并由输入控件正确解释?
见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>