0

当我从淘汰视图模型功能填充搜索框时,我试图触发 Typeahead。

这是一个演示我的问题的 js Fiddle。当我单击提交按钮时,搜索字段会填充“苹果”一词,但不会触发预先输入。

    <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);

http://jsfiddle.net/c8nps/4/

4

1 回答 1

0

使用 typeahead 而不是 val() 触发 typeahead

$('#searchVendor').typeahead('setQuery', 'value-you-want-to-set');

或者更好

jQuery#typeahead('setQuery');

我会在您的代码中将其解释为-

$#searchVendor(myValue()); || $#searchVendor('mike'); 

这是 GitHub 的问题https://github.com/twitter/typeahead.js/issues/247

于 2013-08-08T18:55:25.700 回答