jQuery UI使用别名自动完成



我在我的表单中使用jQuery UI自动完成,一切都工作得很好(感谢社区)。只剩下一件事让它变得完美…别名。

自动填写的字段用于用户输入他的国家。其中一个自动完成选项是"美利坚合众国"。如果用户输入首字母缩略词"美国",自动补全器会将其与"美利坚合众国"联系起来。价值吗?

换句话说,当我在列表(国家变量)中定义国家时,是否有方法创建别名?列表:

var countries = [
"United States of America",
"United Kingdom",
// ...
]

任何帮助都非常感谢,谢谢

使用别名的解决方案

var tags = ["United States of America", "United Kingdom", "South Africa", "Albany"];
var alias = ["usa", "uk", "sa", "youpi"];
$("#autocomplete").autocomplete({
source: function(request, response) {
var ids = alias.indexOf(request.term);
var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(request.term), "i");
response($.grep(tags, function(item, i) {
if(ids == i) return true;
return matcher.test(item);
}));    
}
});
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>autocomplete</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.12.4.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<label for="autocomplete">Select Something </label>
<input id="autocomplete">

</body>
</html>

这是一个想法,在您轻松地调整代码之后,遵循您想要的

最新更新