【发布时间】:2017-05-24 15:47:20
【问题描述】:
我有此代码用于向输入添加自动完成功能。工作正常,但用户也应该能够在标题中搜索(a.k.a “area”)。
$(document).ready(function() {
"use strict";
//Autocomplete
$(function() {
$.widget( "custom.catcomplete", $.ui.autocomplete, {
_create: function() {
this._super();
this.widget().menu("option", "items", "> :not(.ui-autocomplete-area)");
},
_renderMenu: function(ul,items) {
var that = this,
currentarea = "";
$.each( items, function(index,item) {
var li;
if (item.area !== currentarea) {
ul.append("<li class='ui-autocomplete-area' aria-label='"+item.area+"'>" + item.area + "</li>");
currentarea = item.area;
}
li = that._renderItemData(ul,item);
if (item.area) {
li.attr("aria-label", item.area + ":" + item.label);
}
});
}
});
var data = [
//Title : Value
{ area: "Something", label: "ST A" },
{ area: "Something", label: "ST B" },
{ area: "Other thing", label: "OT A" },
{ area: "Other thing", label: "OT B" },
{ area: "This thing", label: "TT A" }
];
$( "#the_things" ).catcomplete({
delay: 0,
source: data
});
});
});
因此,如果用户写“某事”,则应该出现标题和相关值。现在只在值中搜索(“label”)。
MCVE:https://jsfiddle.net/p91w9y1o/
我需要做什么才能在这两个地方进行搜索?
【问题讨论】:
-
你想让它只搜索
area还是两者都搜索?到目前为止,您尝试过什么? -
嗨@twisty,我需要在两者中搜索。我尝试的是在 MCVE 中。
标签: jquery jquery-ui jquery-ui-autocomplete