我有一个包含两个字段的表:日和小时,但只有日字段具有价值,也许这是一个淘汰赛错误或我无法理解的奇怪事情正在发生。
这是视图(翡翠而不是html):
p
label(for='dates') Datas
span.required *
 
span(data-bind='visible: dates().length > 1')
ul#list-dates(data-bind='foreach: dates()')
li
div.form-inline
input.input-small(type='text', name='dateDay', data-bind='value: day, hasfocus: true')
span -
input.input-mini(type='text', name='dateHour', date-bind='value: hour')
a.btn(href='#', data-bind='click: $root.addDate')
i.icon-plus
这是javascript:
var DateModel = function(day, hour) {
var self = this;
self.day = ko.observable(day);
self.hour = ko.observable(hour);
};
function DateViewModel() {
var self = this;
self.dates = ko.observableArray([
new DateModel("", "")
]);
self.addDate = function() {
var pos = self.dates().length;
pos = pos-1;
console.log("Day: " + self.dates()[pos].day());
console.log("Hour: " + self.dates()[pos].hour());
if (self.dates()[pos].day() != '' && self.dates()[pos].hour() != '')
self.dates.push(new DateModel("", ""));
}
}
ko.applyBindings(new DateViewModel());
当按下 addDate 时,它假设检查之前添加的日期和小时条目以创建新字段。谢谢!