自动完成minChars属性

时间:2012-01-09 11:37:36

标签: javascript jquery autocomplete

我正在使用jQuery自动完成功能。这是我的 HTML

<input class="autocomplete_input">  

JS

$(".autocomplete_input").autocomplete({
    source: autocompleteOptions
});

// autocompleteOptions is a array which contains all values for autocomplete

一切都很好。我想在onFocus上显示所有建议。经过一些谷歌搜索并在SO上阅读一些类似的问题后,我找到了自动完成的minChars属性。我试过但仍然没有运气

$(".autocomplete_input").autocomplete({
    source: autocompleteOptions,
    minChars:0
});      

如何正确使用minChars

EDIT1:
我正在使用此link。谢谢罗里 在给定的链接上,我找不到minLength属性 的 EDIT2:
我试过了

 $(".autocomplete_input").autocomplete({ minLength: 0, source: autocompleteOptions});

onFocus上仍未显示任何建议。我注意到的一个区别是,如果我键入任何字符,则显示相应的结果,如果我使用反斜杠删除该字符,则显示所有建议。

6 个答案:

答案 0 :(得分:4)

您使用的是jQuery UI Autocomplete吗?

正确的参数是minLength

$( ".selector" ).autocomplete({ minLength: 0, source: autocompleteOptions });

答案 1 :(得分:1)

假设this是您正在使用的插件,请尝试以下操作:

$(".autocomplete_input").autocomplete(
    autocompleteOptions,
    { minChars: 0 }
});   

答案 2 :(得分:1)

/*
 * jQuery Autocomplete plugin 1.2.3
 *
 * Copyright (c) 2009 Jörn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * With small modifications by Alfonso Gómez-Arzola.
 * See changelog for details.
 *
 */

in line 588 change this 

[[[ for (var i = q.length - 1; i >= options.minChars; i--) {   ]]]

for this 

[[[ for (var i = q.length - 1; i >= 0; i--) {   ]]]

答案 3 :(得分:0)

尝试使用focus事件并手动调用自动填充功能:

$(".autocomplete_input").autocomplete({
    source: autocompleteOptions
}).focus(
    function() {
        if (this.value == "") {
               $(this).autocomplete('search', '');
            }
        }
    );

答案 4 :(得分:0)

以下是jQuery自动完成的文档页面: http://jqueryui.com/demos/autocomplete/

您正在寻找的选项是minLength

$(".autocomplete_input").autocomplete({
source: autocompleteOptions,
minLength:0
});      

答案 5 :(得分:0)

设置minchars:0; 在autocomplete.js文件中进行以下更改。

在“ window.opera”内部添加如下所示的click事件

this.el.click(function () {
  e.onClick();
}),

并在“ onValueChange”之后添加此功能

onClick: function () {
   var ae = this.getQuery(this.currentValue);
   if(ae.length < 1){
      this.onValueChange();
   }
},

查找“ onValueChange”函数,并在其中替换如下所示的return参数

//return (this.selectedIndex = -1), this.ignoreValueChange ? void (this.ignoreValueChange = !1) : void ("" === e || e.length < this.options.minChars ? this.hide() : this.getSuggestions(e));

return (this.selectedIndex = -1), this.ignoreValueChange ? void(this.ignoreValueChange = !1) : void (this.getSuggestions(e));