我有一个显示日期的日期字段:
<input type="text" data-bind='value: model.BeginDateTime'>
然后我有一个字段显示从月初开始的小时数:
<input type="text" data-bind='value: model.BeginHour()'>
它从计算函数中获取值
self.model.BeginHour = ko.computed(function(){
var dateToConvert = new Date(self.model.BeginDateTime());
var zeroDate = new Date(dateToConvert.getFullYear(), dateToConvert.getMonth(), 01, 0, 0, 0, 0);
var millisecondsDifference = (dateToConvert - zeroDate);
var hoursDifference = (millisecondsDifference / ((1000 * 60) * 60));
return Math.round(hoursDifference);
});
但如果小时值发生更改,我需要能够更新日期。
例如,如果日期是 2/1/2012 8:00:00 PM,则 BeginHour 值为 20。现在我希望能够将 BeginHour 的值从 20 更改为 21,它应该将 model.BeginDateTime 更新为 2 /1/2012 晚上 9:00:00。concomputed 目前在显示小时数方面效果很好,但是当我更新小时字段时,我无法让它工作。谢谢