How to update the source Option in bootstrap-typeahead.js

前端 未结 3 566
执笔经年
执笔经年 2021-01-05 03:26

I am using bootstrap-typeahead in order to allow multiple selection. Here is the demo.

The original code has been update by @Sherbrow Twitter bootstrap typeahead

相关标签:
3条回答
  • 2021-01-05 04:06

    Based on the default updater method of typeahead :

    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
    }
    

    Demo with multiple values (jsfiddle)

    Keep in mind that you can access this source from anywhere with $('sel').data('typeahead').source considering that the typeahead is initialized

    0 讨论(0)
  • 2021-01-05 04:14

    None of the given answers worked for me, I had to destroy the original typeahead instance and re initialize it.

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

    0 讨论(0)
  • 2021-01-05 04:16

    I had the same problem and this one will save you a lot of time. I've updated your old jsFiddle with my code example. The basic thing is that you need to do

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

    Where newSource is the new array. Now you just need a function that adds or removes an element, or whatever you need to do with it.

    0 讨论(0)
提交回复
热议问题