我正在使用 jquery 自动完成插件。配置为使用多个值。
我设置选项 minLength : 2
minLength 选项仅适用于第一个自动建议的单词,对于多个值它不起作用。
我如何配置或需要覆盖哪种方法来解决此问题。
我正在使用 jquery 自动完成插件。配置为使用多个值。
我设置选项 minLength : 2
minLength 选项仅适用于第一个自动建议的单词,对于多个值它不起作用。
我如何配置或需要覆盖哪种方法来解决此问题。
jQuery UI 网站上的多个远程演示演示了这种行为。您只需要添加一个自定义搜索功能:
$('#autocomplete').autocomplete({
search: function() {
// custom minLength
var term = extractLast( this.value );
if ( term.length < 2 ) {
return false;
}
}
});
请参阅:http: //jqueryui.com/demos/autocomplete/#multiple-remote
我发现 Christian 2012 年的版本非常有用,但这里有一个在 2016 年可以使用的重新设计的版本(jQuery UI 1.12.0):
function split(val) {
return val.split(/\s+/);
}
function extractLast(term) {
return split(term).pop();
}
source: function(request, response) {
// delegate back to autocomplete, but extract the last term
const term = extractLast(request.term)
if (term.length < this.options.minLength) {
return false;
}
response($.ui.autocomplete.filter(
data, term));
}
该minLength
选项只需像往常一样提供,然后将在source
函数内部使用。如果需要更多上下文,请参阅演示。