【问题标题】:Bootstrap tags input with Bootstrap 3 typeahead error带有 Bootstrap 3 typeahead 错误的 Bootstrap 标签输入
【发布时间】:2016-04-11 19:06:53
【问题描述】:

我将 Bootstrap tags inputBootstrap 3 Typeahead 集成,将 data-provide 放在输入字段上,如下所示:

<input type="text" name="search" id="search" data-provide="typeahead" autocomplete="off">

并在我的 js 文件中初始化它,例如:

$('#search').tagsinput({
    confirmKeys: [44],
    typeahead: {
        source: $.getJSON('/Functions/hints.php')
    }
});

一切正常,hints.php 发送 json,typeahead 工作,标签工作,但是当我尝试从建议列表中添加项目时出现问题。例如,我想搜索“衣服”,我输入“cl”,“衣服被建议”,我从“下拉”列表中选择该项目并将其作为标签插入,但问题是“cl”留在输入字段,我收到一条错误消息“TypeError: undefined is not an object (evalating 'data[option].apply')”。

我还注意到,如果我开始输入一个不建议任何内容的术语(不提前输入),它会毫无问题地变成标签,并且在它变成后输入是清晰的成一个标签。只有在初始化预输入后,我才会收到此错误。因此,只要我愿意,我就可以输入非建议性的单词,而且它工作正常,但是一旦我输入一封从那时起给我一些建议的信,我总是会收到提到的错误,无论这封信是否被识别并且我是否得到建议,如果我从列表中选择项目或输入我自己的话。

我尝试了 xplicit 在此 link 上提到的修复,我尝试编写一些自定义代码来清除该字段,但我总是遇到某种错误并且无法清除输入字段。

【问题讨论】:

    标签: twitter-bootstrap twitter-bootstrap-3 bootstrap-typeahead bootstrap-tags-input


    【解决方案1】:

    当然,为时已晚,但无论如何我都会回答。

    我遇到了类似的问题,使用了一种解决方法。

    bootstrap-tagsinput.js 中有一个函数,可以更新标签列表并将文本返回到 typeahead(第 329 行):

          updater: function (text) {
            self.add(this.map[text]);
            return this.map[text];
          },
    

    我不知道为什么,但它会将标签的文本返回到输入字段。所以我只是把这段代码改成:

          updater: function (text) {
            self.add(this.map[text]);
            return "";
          },
    

    不行。

    【讨论】:

      猜你喜欢
      • 2018-05-25
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      相关资源
      最近更新 更多