0

http://jqueryui.com/autocomplete/#remoteの例に従ってオートコンプリート入力を作成しようとしています。これまでのところ、コードは Opera、Firefox、および Chrome で機能しますが、IE8 と IE9 では機能しません。以下は私のコードとTestDataのサーバーからの応答です。

過去数日間、これらをテストしてきましたが、成功しませんでした。ここの教祖が助けてくれることを感謝します。

ありがとう。

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title>Test</title>
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
        <script src="http://code.jquery.com/jquery-1.8.2.js"></script>
        <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
        <script>
            $(function() {
                $( "#test" ).autocomplete({
                    source: "TestData",
                    minLength: 2
                });
            })
        </script>
    </head>
    <body>
        <div class="ui-widget">
            <input id="test" />
        </div>
    </body>
</html>

サーバーからの応答ヘッダー

Key             Value
Response        HTTP/1.0 200 
Server          Development/1.0
Date            Mon, 26 Nov 2012 02:49:31 GMT
Cache-Control   no-cache
Content-Type    text/html; charset=utf8
Content-Length  43

レスポンスボディ

[{"id":"1","value":"a1","label":"a1 test"}]
4

1 に答える 1

0

Web サービスによって実際に返されるものをより細かく制御するには、次の方法で実装することをお勧めします。

$( "#city" ).autocomplete({
            source: function( request, response ) {
                $.ajax({
                    .............
                    success: function( data ) {
                        var transformedData = transformData(data);
                        // feeding back to jquery autocomplete 
                        response( transformedData );
                    }
                });
            });

成功関数にブレークポイントを設定すると、デバッガーで Web サービスから取得しているものを確認できるはずです。

于 2012-11-26T04:34:45.080 に答える