手动触发jQuery自动完成

时间:2012-12-03 15:25:23

标签: javascript jquery ajax search autocomplete

我正在使用jQuery UI Autocomplete和一些AJAX(直到他们停止输入后才会提取数据)。我想这样做,一旦找到数据,自动完成将随后弹出作为搜索结果。这是有效的,但是只有当我再次开始输入时(在我输入之前,下拉列表不会触发,因为直到我停止输入后它才会被初始化)。

我的代码:

var availableTags = [
    "Perl",
    "PHP",
    "Python",
    "Ruby"
];
$('input#mainSearchBox').autocomplete({
    source: availableTags,
        minLength: 0
});
    $('input#mainSearchBox').data('autocomplete').menu.active;

最后一部分是尝试激活自动完成功能,但失败了。

3 个答案:

答案 0 :(得分:36)

search method应该可以解决问题:

$('input#mainSearchBox').autocomplete("search");

Fiddle

答案 1 :(得分:4)

您可以使用以下脚本手动切换自动填充:

var textbox = $('input#mainSearchBox');
var autocompleteBox = textbox.autocomplete('widget');

// toggle the autocomplete widget
autocompleteBox.is(':hidden') ? 
    textbox.autocomplete('search', textbox.val()).focus() :
    autocompleteBox.hide();

此代码可以在jquery自动完成演示站点上的combobox example的源代码中找到(第127-141行)。

答案 2 :(得分:0)

对于https://github.com/devbridge/jQuery-Autocomplete,您可以使用:

$('input#mainSearchBox').autocomplete("getSuggestions", $('input#mainSearchBox').val())