我将这个jQuery Autocomplete - 框架用于输入字段(输入三个字符后出现建议),我只允许输入自动完成建议。
我的第一个方法是:
var nameSelectedOverSearch = false;
var availablePersons = [];
$(function() {
$("#anspr").autocomplete({
source: availablePersons,
select: function(event, ui) {
nameSelectedOverSearch = true;
}
});
});
用户必须单击自动填充建议,但之后用户仍然可以更改输入。 是否有可能只允许自动完成输入?
答案 0 :(得分:1)
您可以使用这个真棒库https://harvesthq.github.io/chosen/。我做了一个完整的自动填充示例,并选择比较:https://jsfiddle.net/Tintin37/uw52snsq/
我认为它完全符合您的需求。
相关代码:
$("#tags").autocomplete({
source: availableTags
});
$.each(availableTags,function(i,e){
$("#choosen").append('<option>'+e+'</option>');
});
$("#choosen").chosen({search_contains: true});
答案 1 :(得分:0)
您需要以这种方式使用“keyup”功能,您可以验证任何字母,并且只允许您列出的选项:
$('#tags').autocomplete({
autoFocus: true,
source: availableTags
}).keyup(function() {
var isValid = false;
for (i in availableTags) {
if (availableTags[i].toLowerCase().match(this.value.toLowerCase())) {
isValid = true;
}
}
if (!isValid) {
this.value = previousValue
} else {
previousValue = this.value;
}
});