手动触发jQuery自动完成
我正在使用jQuery UI Autocomplete和一些AJAX(直到他们停止输入后才会提取数据)。 我想这样做,一旦找到数据,自动完成将弹出作为搜索结果。 这是有效的,但是只有当我再次开始输入时(在我输入之前,下拉列表不会触发,因为直到我停止输入后它才会被初始化)。
我的代码:
var availableTags = [ "Perl", "PHP", "Python", "Ruby" ]; $('input#mainSearchBox').autocomplete({ source: availableTags, minLength: 0 }); $('input#mainSearchBox').data('autocomplete').menu.active;
最后一部分是尝试激活自动完成,但失败了。
搜索方法应该做的伎俩:
$('input#mainSearchBox').autocomplete("search");
小提琴
您可以使用以下脚本手动切换自动完成:
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示例的源代码中找到(第127-141行)。
对于https://github.com/devbridge/jQuery-Autocomplete ,您可以使用:
$('input#mainSearchBox').autocomplete("getSuggestions", $('input#mainSearchBox').val())