0

したがって、基本的に、オートコンプリート メソッドのパラメーターの作業を行う関数に移動しようとしましたがsource、スクリプトが壊れています。$.get(...)リクエストによって値が返されているにもかかわらず、入力時にオプションが表示されません。

HTML:

           <tr class="itemTableRow">
                <td>
                    <input type="text" class="item" name="items[]" />
                </td>
                <td>
                    <input type="range" class="quantity" min="1" max="10000" name="quantity[]" />
                </td>
                <td>
                    <select class="versionSelect"><option value="5">5</option><option value="6">6</option><option value="7">7</option></select>
                </td>
            </tr>

Javascript:

 $(function() {

            $( ".item" ).autocomplete({
                            source: function(request, response){var data = $.get("http://mydomain.com/dev/kohana/utils/items/search?searchType=maxList&amp;term=" + request.term + "&amp;version=" + $(".item").parent().parent().children(":nth-child(3)").children("select").val()); console.log("" + data); response(data);},
                            minLength: 2
                        });
});

結果の HTTP GET リクエスト URL (入力フィールドに CP が入力された場合):

http://mydomain.com/dev/kohana/utils/items/search?searchType=maxList&term=CP&version=5

結果の HTTP 応答本文:

[{"label":"CP1031L","value":"CP1031L"},{"label":"CP1031M", "value":"CP1031M"]

Jquery UI のデフォルト スタイルシートもページに含めましたが、それ以前は機能していました。機能的なコールバックがどのように機能するかについて、非常に基本的なことが欠けているように感じます。誰でも問題を見つけることができますか? ご協力いただきありがとうございます。

4

1 に答える 1

1

response(data)次のように、呼び出しの成功ハンドラーで を呼び出す必要があります.get()

$( ".item" ).autocomplete({
                            source: function(request, response){var data = $.get("http://mydomain.com/dev/kohana/utils/items/search?searchType=maxList&amp;term=" + request.term + "&amp;version=" + $(".item").parent().parent().children(":nth-child(3)").children("select").val(), function(data) {response(data);});},
                            minLength: 2
                        });
于 2012-10-10T17:22:17.190 に答える