Хорошо, я боролся с этой проблемой в течение нескольких часов в настоящее время и сузили вопрос очень простой FiddleTwitter Bootstrap выбор машинописный не связан KnockoutJS
Проблема в том, что, когда я использую машинописный Twitter Bootstrap в плагин на текстовый ввод и сделать выбор, это значение не обновляется в ViewModel KnockoutJS. Я знаю, что я мог бы взломать его на работу, но должно быть что-то, что мне здесь не хватает.
В основном то, что у меня есть:
Нокаут Связывание
// 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
});
}
};
Нокаут 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"/>
Остальная часть материала просто происходит из Twitter Bootstrap.
Я не являюсь автором переплета. Оригинальное связывание здесь: https://github.com/billpull/knockout-bootstrap. Интересно, пропустил ли я что-то в использовании ??? –