当我从我的淘汰视图模型函数中填充搜索框时,我试图触发Typeahead。
这是一个演示我的问题的js小提琴。当我点击提交按钮时,搜索字段会填充单词'apples',但是typeahead不会被触发。
<div>
<input id="btnSearch" data-bind='value: search'>
<br>
<button id="btnSubmit">Send String to Search Box From Here</div>
function ViewModel() {
this.search = ko.observable("");
this.call = function () {
this.search('apples');
}
}
vm = new ViewModel();
var data = ["apples", "bananas", "peaches"];
$("#btnSearch").typeahead({
source: data
});
$("#btnSubmit").click(function () {
vm.call();
});
ko.applyBindings(vm);
答案 0 :(得分:0)
使用typeahead而不是val()
触发typeahead$('#searchVendor').typeahead('setQuery', 'value-you-want-to-set');
或更好
jQuery#typeahead('setQuery');
我会在你的代码中将其解释为 -
$#searchVendor(myValue()); || $#searchVendor('mike');
这是GitHub'd问题https://github.com/twitter/typeahead.js/issues/247