Jquery ui jQueryUI自动完成
我使用的是谷歌存储库中的jqueryui。我将以以下格式获取数据:Jquery ui jQueryUI自动完成,jquery-ui,autocomplete,Jquery Ui,Autocomplete,我使用的是谷歌存储库中的jqueryui。我将以以下格式获取数据: [{name:"test", param1:"test"},{name:"test2", param1:"test2"}...] 但是jQuery自动完成程序正在名为“label”的字段中搜索 因此,我如何才能将“标签”更改为“名称”,因为我想过滤名称字段中包含键入值的信息。在文章的行与行之间阅读,我发现您无法编辑向页面提供数据的部分,因此您必须处理您拥有的内容但只需更改所提供的内容以匹配您的需要,就会容易得多 我认为,要使其
[{name:"test", param1:"test"},{name:"test2", param1:"test2"}...]
但是jQuery自动完成程序正在名为“label”的字段中搜索
因此,我如何才能将“标签”更改为“名称”,因为我想过滤名称字段中包含键入值的信息。在文章的行与行之间阅读,我发现您无法编辑向页面提供数据的部分,因此您必须处理您拥有的内容但只需更改所提供的内容以匹配您的需要,就会容易得多 我认为,要使其正常工作,您必须使用request对象对源回调中的选项进行返工,并在每个子项上创建一个与所需项匹配的项。比如:
$( selector ).autocomplete({
source: function( request, response ) {
response( function(data){
for(key in data){
data[key].label = data[key].name;
}
return data;
} );
}
});
但我不是100%确定这个代码
或者您可以在此处覆盖“过滤器”功能:
$.extend( $.ui.autocomplete, {
escapeRegex: function( value ) {
return value.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
},
filter: function(array, term) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" );
return $.grep( array, function(value) {
return matcher.test( value.label || value.value || value );
});
}
});
改变行为以使用你得到的东西。但我会称之为糟糕的设计/实现