1
        $("input#lastname").autocomplete({
            source: "autocomplete.lastname.php"
        });

タブを使用してテキスト ボックスを変更すると、ドロップダウン メニューが下の位置に固定されるという問題が発生しています。この種の問題を解決するにはどうすればよいでしょうか? 私はすでにこのようなものも持っています:

    $("input#firstname").autocomplete({
      source: "autocomplete.firstname.php"
    }).keyup(function(e) {
      if (e.which === 13) {
        $(".ui-menu-item").hide();
      }
    });

これはまさに私が意図しているものではありませんが、おそらく変更できますか? また、.hide では、入力時にメニューの残りの部分がまだ表示されていることに気付きました。

前もって感謝します!

4

2 に答える 2

1

あなたsourceはPHPファイルであり、そこにあるものをロードして処理する必要があるため、遅れます。


手っ取り早い解決策は、ロード時の AJAX 呼び出しです。

$(function() {
    var lastnames;

    $.get("autocomplete.lastname.php", function(data) {
       lastnames = data;
    });


    $("input#lastname").autocomplete({
        source: lastnames
    });
});​
于 2012-12-15T00:24:17.400 に答える
0

私も同じ問題を抱えていましたが、AJAX呼び出しに取り組むことは私にはやり過ぎのように思えました。そこで、ユーザーが次の入力ボックスにフォーカスしたときに、フォームのすべてのオートコンプリートを閉じる行を追加しました。

$("#form input").on("focus", function(e) {
    $("#form autocomplete_input_1, #form autocomplete_input_2").autocomplete( "close" );
});

これには、必要なときにオートコンプリートに干渉しないという利点がありますが、フォーム内をすばやく移動できるユーザーのためにオートコンプリートをすばやく非表示にすることができます。

于 2013-03-13T13:20:48.237 に答える