0

我正在尝试将 Keith Wood 日期选择器添加到淘汰赛动态列表中我在这里创建了一个 JS Fiddle:http: //jsfiddle.net/ELTfx/5/

我为每个创建的输入框创建了一个唯一的 ID:

昏死:

self.departureDateUniqueID=ko.observable("depDate"+ counter++);
self.departureDateUniqueIDHash = ko.computed(function () {
        return "'#" + self.departureDateUniqueID() + "'";
    });

HTML:

            <td><input data-bind="value: departureDate,attr: { 'id': departureDateUniqueID }" /></td>

然后,每次在列表中创建新条目时,我都尝试将 datepicker 绑定到对象:

    // Operations
    self.addSeat = function() {
    var seat = new SeatReservation("", self.availableMeals[0]);
    self.seats.push(seat);
    alert (seat.departureDateUniqueIDHash());

    $(seat.departureDateUniqueIDHash()).datepick({
        autoSize: true, defaultDate: 0, selectDefaultDate: true,
        onSelect: function (dates) {
            var minDate = dates[0];
            seat.departureDate($.datepick.formatDate(minDate));
        }
    });
}

唉,但是它不起作用。我收到错误未捕获的错误:语法错误,无法识别的表达式:'#depDate0'

我猜想 JQuery 还没有在它的 DOM 中得到它。

现在我用谷歌搜索了这个,各种帖子都推荐了 On 子句。但我不太清楚如何在这里使用它。

任何提示表示赞赏!

4

1 回答 1

1

我猜...您'在创建 id 时没有必要...

self.departureDateUniqueIDHash = ko.computed(function () {
        return "#" + self.departureDateUniqueID() + "";
    });

演示

于 2013-05-20T15:11:27.160 回答