jQuery autocomplete 1.1:显示焦点上的所有数据

时间:2013-06-01 15:20:52

标签: javascript jquery ajax

如何让this extension显示焦点上的所有数据?我试图将minChars更改为0,但它仅在输入双击时显示。

$("#month").autocomplete(months, {
        minChars: 0,
        max: 12,
        autoFill: true,
        mustMatch: true,
        matchContains: false,
        scrollHeight: 220,
        formatItem: function(data, i, total) {
            // don't show the current month in the list of values (for whatever reason)
            if ( data[0] == months[new Date().getMonth()] ) 
                return false;
            return data[0];
        }
    });

4 个答案:

答案 0 :(得分:10)

您需要将焦点事件绑定到输入并作为结果调用jQuery UI方法。看看this js fiddle for an example

我添加了以下代码:

$('#month').autocomplete({
    // Your current code
}).on('focus', function(event) {
    var self = this;
    $(self).autocomplete( "search", this.value);;
});

传递给search方法的值是自动完成要查找的内容。

如何搜索焦点上的所有值

如果您想要所有可用的下拉列表,请将其保留为“”,但将minLength : 0添加到选项对象。

$('#month').autocomplete({
    minLength : 0
}).on('focus', function(event) {
    $(this).autocomplete("search", "");
});

答案 1 :(得分:0)

我最近遇到了同样的问题,由于这个插件很旧(并且已弃用),因此该版本的文档很少。

这对我有用:

var __n_clicks = 0;

$("#autocomplete_input").autocomplete(data, {
    minChars: 0,
    ...
}).on('click', function(event) {
    if(__n_clicks < 1){
        __n_clicks++;
        $(this).click();
    }else {
        __n_clicks = 0;   
    }
});

执行&#34; dblclick&#34;也没有工作,只需2次点击。

答案 2 :(得分:0)

如果你想在这个插件中使用一些组合框,请试试这个:

&#13;
&#13;
$('.lookup').on('click', function(event) {
var str =$(this).attr('id');
$('#'+str.slice(1)).focus().click().click();
});
&#13;
&#13;
&#13;

答案 3 :(得分:0)

    $(".autocomplete_input").autocomplete(availableTags, {
        minChars: 0,
    }).focus(function(event) {
        $(this).click();
    });

这也可以只单击一次,但最好完全切换插件。