首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动完成-显示整个列表

问自动完成-显示整个列表
EN

Stack Overflow用户
提问于 2012-02-22 21:47:19
回答 2查看 15.4K关注 0票数 5

我有这样的代码:

代码语言:javascript
复制
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的所有元素的列表(具有相同的自动补全框用于选择值)。

我想我需要一个第三部分的处理程序,比如:

代码语言:javascript
复制
myInput.focus(function () {

});

但我不知道如何与自动补全对话。有什么想法/解决方案吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-22 22:06:42

@jasonlfunk已经完成了一半--您必须在focus上的autocomplete小部件上调用search才能使其正常工作:

代码语言:javascript
复制
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", "");
});

示例: http://jsfiddle.net/BRDBd/

票数 16
EN

Stack Overflow用户

发布于 2012-02-22 21:50:13

看看autocomplete插件的minLength选项。将其设置为零应该可以执行您想要的操作。

代码语言:javascript
复制
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());
});​;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9396068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档