web-dev-qa-db-ja.com

jQuery Autocompleteを手動でトリガーする

私はいくつかのAJAX(データが入力を停止するまでデータがプルされない)でjQuery UIオートコンプリートを使用しています。データを見つけたら、オートコンプリートがポップするようにしたいと思います。 -upを検索結果として使用します。ただし、これは機能しますが、もう一度入力を開始したときのみです(ドロップダウンは、入力を停止するまで初期化されないため、入力するまでトリガーされません)。

私のコード:

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

最後の部分はオートコンプリートをアクティブにする試みでしたが、失敗しました。

17
TheFrack

検索方法 でうまくいくはずです:

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

フィドル

45
Thorsten

次のスクリプトを使用して、オートコンプリートを手動で切り替えることができます。

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オートコンプリートデモサイト(行127-141)の combobox example のソースにあります。

4
jbabey

https://github.com/devbridge/jQuery-Autocomplete の場合、次を使用できます。

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