6

我无法将 bootstrap 3 typeahead 与标签输入集成,但将对象作为标签。如果我只在输入字段上使用预输入,它就可以工作,但如果我将它与标签输入集成,那么它就不起作用,我什至没有得到任何真正令人沮丧的错误。这是我的代码:

var places = [{name: "New York"}, {name: "Los Angeles"}];
//this works
$('input').typeahead({
    source: places
});

//this doesn't
$('input').tagsinput({
    freeInput: false,
    confirmKeys: [44],
    typeahead: {
        source: places
    }
});

我做错了什么还是这是一个错误?

如果有人有一个这样的工作示例,我真的很感激一些帮助,它可以是 typeahead.js 而不是 bootstrap 3 typeahead,我也尝试使用它并且它可以工作,但是如果我选择一个建议的地方,我会遇到问题来自 typeahead 的选项单击 enter 提交整个表单,而不是仅仅接受该选项作为标记。

4

1 回答 1

10

您应该通过选项将预输入附加到标签输入typeahead!这要容易得多(以及文档建议的内容)。然后,如果您map() places使用一个字符串数组,它可以工作:

$('.tagsinput-typeahead').tagsinput({
  // other tagsinput options here
  typeahead: {
    source: places.map(function(item) { return item.name }),
    afterSelect: function() {
       this.$element[0].value = '';
    }
  }
}) 

演示-> http://jsfiddle.net/gm3a1s9k/1/

注意afterSelect()它是清除输入所必需的

于 2016-02-20T10:55:36.383 回答