Questa domanda è simile a knockoutjs databind with jquery-ui datepicker, ma invece di jQueryUI datepicker, vorrei utilizzare uno dei Bootstrap datepickers.Bootstrap datepicker con database knockout.js
L'API per il datepicker Bootstrap è diversa da jquery-ui e ho qualche problema a sistemarlo facendolo funzionare con knockout.js. Ho creato a jsFiddle to try it out.
Sembra che il bootstrap datepicker potrebbe essere molto più semplice da utilizzare perché non memorizza la data in modo indipendente. Tuttavia, vorrei sapere come se la jsFiddle è il modo più appropriato per utilizzare il widget Bootstrap datepicker con knockout.js cioè
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) {
}
};
Ecco a [jsFiddle] (http://jsfiddle.net/bmh_ca/uQcCx/2/) che ha una conversione stringa-> più amenable della data quando il campo viene aggiornato. Questo ha ancora l'avvertenza che cambia solo attraverso il widget sono registrati; apportare modifiche al campo di input non aggiorna il modello. –
Ecco un aggiornamento per associare l'evento 'change' per rispondere alle modifiche al campo di input: http://jsfiddle.net/rniemeyer/uQcCx/3/ –
JsFiddles non sembra funzionare più, hai fatto alcuni cambiamenti dal?, testato chrome e firefox, datepicker non si presenta più. Cheers – dtjmsy