0

我有一个包含两个字段的表:日和小时,但只有日字段具有价值,也许这是一个淘汰赛错误或我无法理解的奇怪事情正在发生。

这是视图(翡翠而不是html):

                p
                    label(for='dates') Datas
                        span.required *
                        &nbsp
                        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 时,它​​假设检查之前添加的日期和小时条目以创建新字段。谢谢!

4

1 回答 1

2

您的“小时”绑定不起作用,因为您输入了错误的 data-bind属性。

你有:

input.input-mini(type='text', name='dateHour', date-bind='value: hour')

应该是哪个

input.input-mini(type='text', name='dateHour', data-bind='value: hour')
于 2013-02-13T10:06:50.560 回答