8

我正在使用 bootstrap-typeahead 以允许多项选择。这是演示

原始代码已由@Sherbrow Twitter bootstrap typeahead 多个值更新

我的问题与以下用例有关:
插入Alaska值后,我想更新不再显示Alaska值的源。
有什么提示吗?

4

3 回答 3

24

我有同样的问题,这个会为你节省很多时间。我已经用我的代码示例更新了你的旧jsFiddle 。基本的事情是你需要做

var autocomplete = $('input').typeahead();
autocomplete.data('typeahead').source = newSource;

newSource新数组在哪里。现在您只需要一个添加或删除元素的函数,或者您需要对它执行的任何操作。

于 2012-11-22T16:11:53.280 回答
6

给定的答案都不适合我,我不得不销毁原来的 typeahead 实例并重新初始化它。

$('input').typeahead('destroy').typeahead(options);

于 2016-05-19T21:34:48.727 回答
2

基于updatertypeahead 的默认方法:

updater: function (item) {
  var pos = this.source.indexOf(item);
  if(pos != -1) {
    var newSource =
      this.source.slice(0,pos)
      .concat(this.source.slice(pos+1));
    this.source = newSource;
  }
  return item
}

具有多个值的演示(jsfiddle)

请记住,考虑到预输入已初始化,您可以从任何地方访问此源$('sel').data('typeahead').source

于 2012-11-22T20:42:07.943 回答