JQuery Autocompleteが実行されないのはなぜですか?
-
03-07-2019 - |
質問
JBoxのオートコンプリートフィールドが初めてTextBoxに入力しても応答しないという非常に興味深いケースがありますが、TextBoxの外でTabキーを押してから、カーソルがTextBoxに戻ると、応答が開始されます。入力を開始すると、結果が表示されます。
firebugを使用すると、実際にアプリケーションのAJAX関数が呼び出され、結果がHTMLテンプレートに返されますが、結果が表示されません。この動作の原因は何ですか?
関数バインディングコード:
$(function()
{
$(document).ready(function(){
$("#tags1").bind("keyup",autoFill)
});
});
マイオートコンプリート機能
function autoFill(){
$("#tags1").autocomplete("/taglookup/", {
width: 320,
max: 4,
highlight: false,
multiple: true,
multipleSeparator:",",
scroll: true,
scrollHeight: 300,
delay: 10
});
}
マイテキストボックスフィールド:
<input type="text" style="width: 400px" id="tags1" name="tags1" value="">
解決
キーアップ時にautocomplete()呼び出しを行うのはなぜですか?それがあなたの問題を引き起こしていると思う。ドキュメントの準備完了イベントから直接autocomplete()を呼び出してみます。
$(document).ready(function(){
$("#tags1").autocomplete("/taglookup/", {
width: 320,
max: 4,
highlight: false,
multiple: true,
multipleSeparator:",",
scroll: true,
scrollHeight: 300,
delay: 10
});
});
他のヒント
今日使用したのと同じオートコンプリートを使用している場合(別のコンピューターで申し訳ありません-正確なバージョンがわかりません)-キーアップ時にバインドする必要はありません-起動時に一度だけバインドする-
<script>
$('#tags1').autocomplete(....);
</script>
オートコンプリート機能は、すべてのキー入力/フォーカスの変更などを処理します。
所属していません StackOverflow