0

リモート ソースを使用して jQuery UI オートコンプリートを機能させるのに苦労しています。(Chromes Inspector を使用して) 各リクエストに対して正しい結果が得られますが、何らかの理由でドロップダウン ボックスが表示されません。検索フィールドは次のとおりです。

<form action={'/content/search'|ezurl} class="search-form">
    <fieldset>
        <input type="text" id="Search" name="Search" class="text" />
        <input type="submit" name="SearchButton" class="submit" value="search" />
    </fieldset>
</form>

そしてJavaScript:

$(function() {

$("#Search").autocomplete({
        source: function( request, response ) {
            $.ajax({
                url: "/content/search",
                dataType: "get",
                data: {
                    maxRows: 12,
                    query: request.term,
                    filter: 'author'
                }
            });
        },
        type:"json",
        select: function(event, ui) 
        {
            window.location =  ui.item.url;
        }
   });
});

どちらが返されますか:

[{"html":"<li><a href=\/Author\/Per_Asmund\/(language)\/nor-NO>Asmund, Per<\/a><\/li>","url":"\/Forfattere\/Per_Asmund\/(language)\/nor-NO","id":"210"},
{"html":"<li><a href=\/Forfattere\/Per_AErlend\/(language)\/nor-NO>Erlend, Per<\/a><\/li>","url":"\/Forfattere\/Per_AErlend\/(language)\/nor-NO","id":"238"}]

私はおそらく何かが欠けているだけかもしれませんが、私の人生ではそれを理解することはできません. どんな助けでも大歓迎です!

4

1 に答える 1

2

パラメータでresponse電話に出られなかったsource

      $.ajax({
            url: "/content/search",
            dataType: "JSON", // edit: fixed ;)
            data: {
                maxRows: 12,
                query: request.term,
                filter: 'author'
            },
            success: function(data) { response(data); } // add this line
        });

しかし、この場合、より単純な使用法の方が良いかもしれません。

于 2012-09-17T10:05:03.103 に答える