0

Ich benutze Knockout Js mit bootstrap DateTimePicker von hier http://eonasdan.github.io/bootstrap-datetimepicker/Installing/#knockout, alles funktioniert gut, aber das Problem ist bei Einreichung Bühne, die ist, wenn ich das Formular abschicken kann ich nicht bekommen aktualisierter Wert von datetimepicker Eingabefeld: Hier ist mein Arbeits HTML:Bootstrap datetimepicker mit Knockout js Datum Eingabefeld Einreichung Problem

<div data-bind="foreach: params"> 
    <input class="form-control" type="text" data-bind="attr: { name: label}, value: value, dateTimePicker: 'date_field'" /> 

    <button data-bind="event: { click: addParameters } , attr: { class: btn btn-success', href: 'javascript:void(0)'}">Save Settings</button> 
</div> 

Hier ist mein Viewmodel:

function viewModel(data) 
{ 
    // date field observable 
    self.date_field = ko.observable(new Date('2012/12/12')); 
    // Observable to track the html form 
    self.params = ko.observableArray(); 
    // when user click by Save Settings button 
    self.addParameters = function(options) 
    { 
     var dataparams = self.params(); 
     console.log(dataparams); 
    }  
} 
ko.applyBindings(new viewModel); 

Könnte jemand bitte leite mir, was ich falsch mache? Danke ein Vorschuss.

+0

Bitte geben Sie genügend (mehr) Code, um es zu reproduzieren, und entfernen Sie alle für die Frage irrelevanten Code. Dies macht es viel einfacher, Ihnen zu helfen. Weitere Informationen finden Sie unter "[mcve]". – Jeroen

+0

self.params() ist ein leeres beobachtbares Array. Sie fügen nichts hinzu –

Antwort

0

Ich benutze diesen Datapicker auch. Das Modul sendet das Update-Ereignis nicht an Knockout Observables. Ich mache dies für jeden Datapicker nach der Initialisierung:

picker.on('dp.change', function (e) { 
    date_field(e.date); 
}); 
+0

Wo diesen Code hinzufügen? Ich habe diesen Code in datetimepicker benutzerdefinierte Bindung von hier http://eonasdan.github.io/bootstrap-datetimepicker/Installing/#knockout hinzugefügt, aber es gibt den Fehler "Picker ist nicht definiert". –

+0

Bitte fügen Sie mehr Code in Ihre Frage ein, um zu zeigen, dass Sie einen Lösungsversuch unternommen haben. Wenn Sie die Dokumentation für den Datepicker verfolgen, sollten Sie irgendwo in Ihrem Code $ ("# PickerID") haben. Datetimepicker(). Ich werde weiter helfen, wenn Sie Ihre Frage aktualisieren. – Jonathan

Verwandte Themen