我使用bootstrap-typehead函数来实现自动完成框。
$(function() {
var availableTags = [ "test1", "test2","test3",....];
$('.typeahead').typeahead({
source: availableTags
});
});
});
虽然这有效,但自由文本也可以作为输入。我注意到很多人都想要这个功能而且对解决方案没有很好的解释。修改此项的最佳方法是什么,以便条目仅与availableTags的条目匹配?例如如果"你好"进入后,它被清除。
我希望此功能与普通下拉列表相反的原因是有数千个可用标记。滚动一长串列表似乎不合逻辑。感谢
答案 0 :(得分:3)
尝试这样的事情:
$(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
内,如果不是,则设置输入的值要清空。