Twitter的Bootstrap Typeahead

时间:2013-08-08 18:50:33

标签: jquery twitter-bootstrap knockout.js

当我从我的淘汰视图模型函数中填充搜索框时,我试图触发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);

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

1 个答案:

答案 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