我有这样的代码:
var myList = [ "Avellino", "Enna", "Frosinone" ];
myInput.autocomplete({
source: function(request, response) {
var data = $.grep(myList, function(value) {
return value.substring(0, request.term.length).toLowerCase() == request.term.toLowerCase();
});
response(data);
},
appendTo: "#myDiv"
});当我单击输入框时,我希望显示myList的所有元素的列表(具有相同的自动补全框用于选择值)。
我想我需要一个第三部分的处理程序,比如:
myInput.focus(function () {
});但我不知道如何与自动补全对话。有什么想法/解决方案吗?
发布于 2012-02-22 22:06:42
@jasonlfunk已经完成了一半--您必须在focus上的autocomplete小部件上调用search才能使其正常工作:
var myList = [ "Avellino", "Enna", "Frosinone" ];
$('#myInput').autocomplete({
minLength: 0,
source: function(request, response) {
var data = $.grep(myList, function(value) {
return value.substring(0, request.term.length).toLowerCase() == request.term.toLowerCase();
});
response(data);
}
}).focus(function () {
$(this).autocomplete("search", "");
});发布于 2012-02-22 21:50:13
看看autocomplete插件的minLength选项。将其设置为零应该可以执行您想要的操作。
var myList = [ "Avellino", "Enna", "Frosinone" ];
myInput.autocomplete({
minLength: 0,
source: function(request, response) {
var data = $.grep(myList, function(value) {
return value.substring(0, request.term.length).toLowerCase() == request.term.toLowerCase();
});
response(data);
},
appendTo: "#myDiv"
}).focus(function(){
$(this).autocomplete("search",$(this).val());
});;https://stackoverflow.com/questions/9396068
复制相似问题