Knockout.js的奇怪问题,但它无法识别重置后选择的日期,但只有相同的日期。
要在我的jsFiddle中复制:http://jsfiddle.net/V5JCq/,请按以下步骤操作:
如何?什么?为什么呢?
代码:
<input type="button" data-bind="click: resetDate" value="Reset">
<input data-bind="value : EstimatedDeliveryDate" type="date">
<span data-bind="html: selectedDate" />
var viewModel = {
EstimatedDeliveryDate: ko.observable(),
selectedDate: ko.observable()
};
viewModel.EstimatedDeliveryDate.subscribe(function (date) {
viewModel.selectedDate("Date selected: " + date);
});
viewModel.resetDate = function () {
viewModel.EstimatedDeliveryDate("");
};
ko.applyBindings(viewModel);
N.B。:此问题仅适用于谷歌浏览器 v20 +,它附带内置日期选择器,用于html5日期输入控件。因此标签。
答案 0 :(得分:3)
不确定原因,但似乎没有在该场景中触发change
事件。一个简单的解决方法是使用input
附加绑定指定您也想要收听valueUpdate
事件,如:
<input data-bind="value : EstimatedDeliveryDate, valueUpdate: 'input'" id="EstimatedDeliveryDate" name="EstimatedDeliveryDate" type="date"><span data-bind="html: selectedDate" />