我正在使用 jquery-ui-autocomplete 插件,但对其进行了微调以提供自动加载而不是自动完成的感觉。我在输入字段下方的 div 中显示结果,而不是它的下拉视图。
我已将 minlength 设置为 1,以便在单击输入框时不会更改 div 中的默认数据。
但是一旦用户输入了一些东西,结果就会显示在 div 中,现在如果用户清除输入字段,它会继续显示最后的搜索结果。我想在这里显示一些在页面加载时显示的默认数据。我怎样才能做到这一点?
代码片段:
$("#search-help").autocomplete({
source: function (request, response) {
var term = $.ui.autocomplete.escapeRegex(request.term)
, containsMatcherTitle = new RegExp(term, "i")
, containsTitle = $.grep(data, function(value) {
return containsMatcherTitle.test(value.value);
});
response((containsTitle.slice(0, 5));
},
focus: function( event, ui ) {
return false;
},
minLength: 3,
select: function(event, ui) {
return false;
},
search: function(event, ui) {
$("#MY_DIV ul").empty();
}
}).data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.value + "</a><span>" + item.desc + "</span>" )
.appendTo($('#MY_DIV ul'));
};