Câu hỏi này tương tự như knockoutjs databind with jquery-ui datepicker, nhưng thay vì trình ghi ngày tháng jQueryUI, tôi muốn sử dụng một trong số Bootstrap datepickers.Trình giữ ngày tháng khởi động với mã dữ liệu knockout.js
API dành cho trình khởi tạo ngày khởi động Bootstrap khác với jquery-ui và tôi gặp một số rắc rối khi gói đầu xung quanh làm cho nó hoạt động với knockout.js. Tôi đã tạo a jsFiddle to try it out.
Có vẻ như bộ đếm ngày của Bootstrap có thể đơn giản hơn nhiều để sử dụng vì nó không lưu trữ ngày tháng độc lập. Tuy nhiên, tôi muốn biết làm thế nào liệu jsFiddle là cách thích hợp để sử dụng widget datepicker Bootstrap với knockout.js tức
ko.bindingHandlers.datepicker = {
init: function(element, valueAccessor, allBindingsAccessor) {
//initialize datepicker with some optional options
var options = allBindingsAccessor().datepickerOptions || {};
$(element).datepicker(options);
ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
$(element).datepicker("destroy");
});
},
update: function(element, valueAccessor) {
}
};
Đây là a [jsFiddle] (http://jsfiddle.net/bmh_ca/uQcCx/2/) có chuyển đổi chuỗi ngày tháng> đáng tin cậy hơn khi trường được cập nhật. Điều này vẫn có báo trước rằng chỉ thay đổi thông qua các widget được đăng ký; việc thay đổi trường nhập không cập nhật mô hình. –
Đây là bản cập nhật để ràng buộc với sự kiện 'thay đổi' để phản hồi các thay đổi đối với trường nhập: http://jsfiddle.net/rniemeyer/uQcCx/3/ –
JsFiddles ở trên dường như không hoạt động nữa, bạn có thực hiện một số thay đổi kể từ ?, thử nghiệm chrome và firefox, datepicker không hiển thị nữa. Chúc mừng – dtjmsy