更新Typeahead本地结果集

时间:2014-02-11 19:50:30

标签: javascript jquery arrays typeahead

好的,这很难。我,atm,只是在typeahead.js进行无限攻击,有人可以给我一些更好的指示......

我想要创建的是一个带有数组结果的下拉类型。数组总是在变化,但变化缓慢且有很多延迟。因此,无论何时用户放入一些文本(我都能使用),以及在外部更新阵列时,应该更新预先输入下拉列表。

更新数组实际上是在一个函数中完成的,添加一些代码来更新预先输入的下拉列表真的很容易,但我不知道怎么做!

代码:

//The local array that should be searched within. It contains records {strTitle: '..', strCategory: '..'}
var arrSearchResults = [];

//The Typeahead definition..
$('#txtNavbarSearch').typeahead(null, {
  displayKey: 'strTitle',
  source: function(strSearchQuery, fncCallback) {
    fncCallback(arrSearchResults);
  }
});

//Function that is invoked in existing code
function fncUpdateSearchResults(arrAddResults) {

  //Add some code here to update the typeahead dropdown..??

  $.each(arrAddResults, function(strKey, arrResult) {
    arrSearchResults.push(arrResult);
  });
}

非常感谢任何帮助......

1 个答案:

答案 0 :(得分:0)

示例如何更新来源:

<input type="text" class="typeahead" />

var b = $('.typeahead').typeahead({
        source: ["Alabama", "Montana"]
});

setTimeout(function(){
    b.data('typeahead').source = ["Another", "USA", "BLUR"];
    $(".typeahead").trigger('blur').val("").focus();
}, 5000);

所以你可以看到我的demo