これが私のコードです:
$("#hifind-find").keyup(function(){
var val = $(this).val();
if (val.length > 1) {
var posturl = '/hifind/jquery_ui/autocomplete/'+val;
$.post(posturl, function(r) {
$("#hifind-find").autocomplete({
source: r,
delay: 50,
minLength: 2
});
$("#hifind-find").bind('autocompleteselect', function(){
alert('test');
});
}, "json");
}
});
#hifind-find フィールドに文字を入力します。予想どおり、val がまだ 1 より大きくないため、何も起こりません。2 番目の文字を入力します。予想どおり、投稿が発生し、firebug での応答は私が期待するものです。しかし、jquery ui プラグインは、フィールドの下に一致するアイテムを表示しません。次に、バックスペースを 1 回押してから 2 番目の文字をもう一度入力すると、投稿が再び起動し、今度はオプションが表示されます。同一の検索が2回連続して実行されると、常に結果が表示されます。そう...
- ba (オプションは表示されません)
- バックスペースを 2 回実行してから...
- ba (「バナナ」はオプションとして表示され、「ベーブ ルース」など)。
しかし、リロードすると...
- ba (何も表示されない)
- ap (何も表示されない)
- ba (何も表示されない)
- ap (同じ検索を 2 回連続して実行するまで、何も表示されません)
コールバックからの応答が毎回同じで、正しいデータが含まれていることを firebug で確認できます。
アイデア?