我有看起來像這樣的視圖模型:使用與KnockoutJS小時/分鐘下拉菜單jQuery UI的日期選擇器
var ViewModel = function() {
var self = this;
self.hourOptions = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23];
self.minuteOptions = [0, 15, 30, 45];
self.formatTimeOption = function(hour) {
if (hour < 10) return "0" + hour;
return hour.toString();
};
self.startDate = ko.observable(null);
self.startDateHour = ko.computed({
read: function() {
return new Date(self.startDate()).getHours();
},
write: function(value) {
var newDate = new Date(self.startDate());
newDate.setHours(value);
self.startDate(newDate);
}
});
self.startDateMinute = ko.computed({
read: function() {
return new Date(self.startDate()).getMinutes();
},
write: function(value) {
var newDate = new Date(self.startDate());
newDate.setMinutes(value);
self.startDate(newDate);
}
});
};
正如你所看到的,我有計算觀察到一個可寫,更新起始日期小時/分鐘更新。
這是工作,然而,當它這樣做時,datepicker
輸入字段顯示日期的長形式,而不是(例如)
2013年1月3日
的這個的jsfiddle在這裏可供選擇:http://jsfiddle.net/alexjamesbrown/2kSpL/9/
我會寫一個自定義綁定的timepicker代替http://trentrichardson.com/examples/timepicker/ – Anders
謝謝,但是這不是在我的要求 – Alex