Ok, ho combattuto con questo problema per ore e che ha limitato la questione ad un semplice FiddleTwitter Bootstrap selezione typeahead non è vincolata da KnockoutJS
problema è che quando sto usando typeahead Twitter di bootstrap plug-in un input di testo e fare una selezione, il valore non si aggiorna nel ViewModel KnockoutJS. So che potrei farlo funzionare, ma ci deve essere qualcosa che mi manca qui.
Fondamentalmente quello che ho è:
Knockout Binding
// Bind twitter typeahead
ko.bindingHandlers.typeahead = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var $element = $(element);
var allBindings = allBindingsAccessor();
var typeaheadArr = ko.utils.unwrapObservable(valueAccessor());
$element.attr("autocomplete", "off")
.typeahead({
'source': typeaheadArr,
'minLength': allBindings.minLength,
'items': allBindings.items,
'updater': allBindings.updater
});
}
};
Knockout ViewModel
function MyModel(){
var self = this;
self.productName = ko.observable();
self.availableProducts = ['One', 'Two', 'Three'];
}
ko.applyBindings(new MyModel());
HTML
<input type="text" data-bind="typeahead:availableProducts, value:productName"/>
Il resto del materiale proviene semplicemente da Twitter Bootstrap.
Io non sono l'autore del legame. L'associazione originale è qui: https://github.com/billpull/knockout-bootstrap Mi chiedo se mi sia sfuggito qualcosa nell'uso ??? –