我正在使用jQuery自动填充功能 - https://jqueryui.com/autocomplete/并将其用于下拉列表:
$(function() {
var availableTags = [
"ActionScript",
"Asp",
"BASIC",
"C",
"ColdFusion",
"Scheme"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
现在我想有另一个场景,如果用户开始在"相关数组中输入单词"然后会提示他们选择主要单词。
所以使用以下作为例子:
Small Businesses
retailers; merchants; traders; wholesalers; vendor;
Postal Service/Courier
parcel; package; post; postal service; delivery; courier; shipment; carting; dispatch
Business community
commerce; trade, career
因此,如果用户开始为零售商输入r..e..t ..等等,那么他们就会得到主要的词/短语" Small Businesses"
我认为这可以使用optgroups来完成,但我不确定它是否可行,如果可以的话,如何去做。我需要一些类似于optgroups工作的东西,但反之亦然。
任何想法都会很棒!
答案 0 :(得分:1)
如果可以使源数组包含带有标签/值对的对象,则可以允许这些值为数组并在the source
option的自定义函数中解析它们。例如:
$( "#tags" ).autocomplete({
source: function(request,response) {
var responseItems = [], matches = false;
for(var i in availableTags) {
var tag = availableTags[i];
if ($.isArray(tag.value)) {
tag.value.forEach(function(val) {
matches |= val.indexOf(request.term) !== -1;
});
}
else {
matches = tag.value.indexOf(request.term) !== -1;
}
if (matches) {
responseItems.push(tag.label);
}
}
response(responseItems);
}
});
以上是一个工作小提琴:http://jsfiddle.net/6osjwgpt/