我正在使用bootstrap-typehead函数来实现自动完成框。
$(function() {
var availableTags = [ "test1", "test2","test3",....];
$('.typeahead').typeahead({
source: availableTags
});
});
});
尽管这样做有效,但自由文本也可以作为输入。我注意到许多人都想要此功能,而没有很好的解决方案说明。修改此内容以使条目仅与availableTag的条目匹配的最佳方法是什么?例如如果输入“ hello”,则将其清除。
我想要此功能(而不是正常的下拉菜单)的原因是有数千个availableTag。向下滚动一长串列表似乎不合逻辑。谢谢
最佳答案
尝试这样的事情:
$(function(){
var availableTags = [ "test1", "test2","test3",....]; // all data required for typeahead
$(".typeahead").typeahead({
source: availableTags
})
.blur(function(){
if(availableTags.indexOf($(this).val()) === -1)
$(this).val("");
});
});
当用户单击远离输入的位置(失去焦点)时,这将检查值是否在数组
availableTags
内,如果不在数组中,则将输入的值重新设置为空。