1

オートコンプリートの結果を表示しようとしています。

これは、GET 要求を使用してクエリを実行したときにスクリプトが返すデータです。

たとえば、「fb」とクエリすると

次のデータが返されます

 "fb"
 "fbi"
 "fbi most wanted"
 "fbi jobs"
 "fb banners"
 "fbook"
 "fb covers"
 "fbanners"
 "fbisd"
 "fbop"

Autocomplete プラグインのコードは次のとおりです。

        $("#query").autocomplete({
        source: function( request, response ) {
            $.ajax({
                url: "q.php",
                dataType: "json",
                data: {
                    "q" : request.term
                },
                success: function( data ) {
                response(data[1])
                }
            });
        },
        minLength: 2
    });

結果は表示されません。ここでどこが間違っているのか誰にも教えてもらえますか!

4

2 に答える 2

0
$("#query").autocomplete({
        source: "q.php",
        minLength: 2
    }).data("autocomplete")._renderItem = function (ul, item) {
            return $("<li></li>")
            .append("<a>" + item+ "</a>")
            .appendTo(ul);
        };
于 2012-04-06T08:54:29.037 に答える
0

jQuery Autocomplete プラグインを使用している場合、なぜそれを過度に複雑にして自分でレンダリングするのでしょうか?

ソース スクリプトを定義し、オートコンプリート モジュールが必要とする適切な形式の JSON 応答を提供するだけです。

期待されるデータ形式

ローカル データ、URL、またはコールバックからのデータには、次の 2 つのバリアントがあります。

文字列の配列: [ "Choice1", "Choice2" ]

label プロパティと value プロパティを持つオブジェクトの配列: [ { label: "Choice1", value: "value1" }, ... ]

source: "query.php";

あとはプラグインに任せましょう。

API を読む: jQuery Autocomplete プラグインの概要

他のことをしたい場合は、登録してイベントをキャッチしてください。

于 2012-04-06T09:15:58.337 に答える