1

私はjQueryの初心者であり、jQueryタイプウォッチとともにオートコンプリート機能を実装しようとしています。つまり、特定の期間の後にWebサービスからデータを取得するには、minLengthの後ではなく、750ミリ秒と言います。

<script type="text/javascript">
    $(document).ready(function () {
        $('.searchinput').autocomplete({
            source: function (request, response) {
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "/Services/SampleWebService.asmx/GetProduct",
                    data: '{"searchString":"' + request.term + '"}',
                    dataType: "json",
                    async: true,
                    success: function (data) {
                        response(data);
                    }
                });
            },
        });
        $('.searchinput').typewatch({
            callback: $.autocomplete,
            wait: 750,
            highlight: false
        });
    });

私のオートコンプリートは完全に正常に機能しますが、どういうわけかタイプウォッチを含めることができません。私が気付いていない深刻なコーディングの失敗があると確信しています。

ありがとう

4

2 に答える 2

3

jqueryオートコンプリートには、delayと呼ばれるパラメーターとして次のオプションがあります。

http://api.jqueryui.com/autocomplete/#option-delay

したがって、あなたがしなければならないことは、そのパラメータを変更し、タイプウォッチを次のように削除することです。

  $(document).ready(function () {
        $('.searchinput').autocomplete({
            delay:750,
            source: function (request, response) {
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "/Services/SampleWebService.asmx/GetProduct",
                    data: '{"searchString":"' + request.term + '"}',
                    dataType: "json",
                    async: true,
                    success: function (data) {
                        response(data);
                    }
                });
            },
        });
    });
于 2012-10-24T17:55:41.443 に答える
0

「delay」と呼ばれるパラメータは、外部サービスを呼び出すためにキーダウン後に待機する必要がある時間です。これは、「機密性の高い」検索データを使用せずにサービスを過負荷にしないためだけのものです。

ユーザーの質問から私が理解したのは、彼が750msごとにオートコンプリートの「更新」関数を呼び出したいということです。

これを使用して、タイプウォッチの「セグメント」を変更することができます。

$('.searchinput').typewatch({
    callback: function(){
        $(".searchinput").data("autocomplete").search();
    },
    wait: 750,
    highlight: false
});

これにより、サービスの検索がトリガーされ、750ミリ秒ごとにポップアップ応答が表示されます

于 2012-10-24T18:02:11.757 に答える