自动完成 - 显示整个列表
我有这样的代码:自动完成 - 显示整个列表
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() {
});
,但我不知道如何使用自动完成dialogate。任何想法/解决方案?
@jasonlfunk是半路那里 - 你必须在focus
调用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", "");
});
查看自动完成插件的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());
});;
嗯,没有它不工作! http://jsfiddle.net/Ek8nS/如果我点击输入,我看不到列表.. – markzzz 2012-02-22 13:57:33
你说得对!抱歉。我更新了我的答案。现在它可以工作。 :) – jasonlfunk 2012-02-22 14:26:53
完美答案,谢谢老兄:) – 2017-02-11 11:59:33
它完美的作品!谢谢! – markzzz 2012-02-22 14:21:42
实际上,我的解决方案更好,因为它处理的情况下,您键入的东西,点击离开,然后再次集中元素...但它不是一个比赛。 – jasonlfunk 2012-02-22 14:53:39