我将Bootstrap 标签输入与Bootstrap 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:未定义不是对象(正在评估'data [option] .apply')”。
我还注意到,如果我开始输入一个不建议任何内容的术语(不提前输入),它会正常工作,它将毫无问题地变成一个标签,并且在它变成一个标签后输入是清晰的. 只有在初始化预输入后,我才会收到此错误。因此,只要我愿意,我就可以输入非建议性的单词,而且它工作正常,但是一旦我输入一封从那时起给我一些建议的信,无论这封信是否被识别,我总是会收到提到的错误,我得到建议或不建议,如果我从列表中选择项目或输入我自己的话。
我尝试了 xplicit 在此链接上提到的修复程序,并尝试编写一些自定义代码来清除该字段,但我总是遇到某种错误并且无法清除输入字段。