1

DWR をデータ ソースとして jquery オートコンプリート プラグインを使用しようとした人はいますか。

ページのオートコンプリート機能が必要ですが、通常の ajax 呼び出しの代わりに dwr も使用しています。

これに関するリンクが 1 つ見つかりましたが、このソース コードを見つけることができません。

http://www.nabble.com/-autocomplete--jquery-%2B-dwr-td22691104s27240.html

誰かがこのソースを見つけて使用するのを手伝ってくれませんか?

よろしく

4

4 に答える 4

1

Arun のアプローチは正しいですが、少し変更する必要があるかもしれません。DWR-3.0.0-RC2、jquery-1.7.2.min.js、jquery-ui-1.8.23.custom.min.js でテストしました。それ以外の:

$('#autoCompTxt').autocomplete(data) ;

ソースパラメータを定義します。

$('#autoCompTxt').autocomplete({source:data});

さらに、その良い答えは、autoCompTxtの長さをチェックすることでわずかに改善できます。このようなもの:

$(function() {
    $('#autoCompTxt').keyup(function() {
        var val = $('#autoCompTxt').val();
        if(val.length>2) {  // check length
            TestService.ajaxAutoCompleteTest(val, function(data) {
                // handle successful DWR response
                $('#autoCompTxt').autocomplete({source:data});
            });
        } else {
            $('#autoCompTxt').autocomplete({source:[]});  // clean
        }
    });
});

もちろん、スクリプトと css のインポートと入力テキストは保持する必要があります (Arun の回答を参照)。

于 2012-08-24T18:02:24.510 に答える
0

非常に単純で、DWR の ajax 呼び出し手法を使用し、コールバック オプション内で jQuery の autocomplete メソッドを使用します。以下の例を参照してください。スクリプトのインポート、CSS のインポートはこの順序である必要があります

<LINK href='<%=contextPath %>/styles/jquery.autocomplete.css' rel="stylesheet" type="text/css">
<LINK href='<%=contextPath %>/styles/main.css' rel="stylesheet" type="text/css">
<script type="text/javascript"src="<%=contextPath%>/scripts/jquery.min.js"></script>
<script type="text/javascript"src="<%=contextPath%>/scripts/jquery-ui-1.8.2.custom.min.js"></script>`enter code here`
<script type='text/javascript' src='<%=contextPath %>/scripts/jquery-latest.js'></script>
<script type='text/javascript' src='<%=contextPath %>/scripts/jquery.bgiframe.min.js'></script>
<script type='text/javascript' src='<%=contextPath %>/dwr/interface/TestService.js'></script>
<script type='text/javascript' src='<%=contextPath %>/scripts/jquery.autocomplete.js'></script>

TEXT BOX SHOULD BE LIKE BELOW

<input id="autoCompTxt" type="text">

JQUERY FUNCTION SHOULD BE WRITTEN THIS WAY

$(function() {
    $('#autoCompTxt').keyup(function() { 
        var val = $('#autoCompTxt').val() ;
        TestService.ajaxAutoCompleteTest(val, function(data){
           $('#autoCompTxt').autocomplete(data) ;
        });
    });

});
于 2011-07-18T08:29:00.883 に答える
0

Øyvind Marthinsen が何を書いたかはよくわかりませんが、次のようなものだと思います。

jQuery(inputSelector).autocomplete({

.....................

    source : function(request, response) {
        TheClass.theMethod(request.term,{
            callback: function(TheDataFromServer) {
                var arrayOfData = [];
                for(i = 0;i < TheDataFromServer.length;i++){
                    arrayOfData.push(TheDataFromServer[i].someStringIfDataNotString);
                }
                response(arrayOfData);
            }
        });
    }

.....................

});

動作するはずです。

于 2011-07-10T09:30:00.980 に答える
0

jQuery UI オートコンプリート プラグイン ( http://jqueryui.com/demos/autocomplete/ ) を dwr で使用するのは非常に簡単です。

jQuery( function() {  
    Cities.getAllCities(function(data) {
         var input = jQuery("#cities");
         input.autocomplete({
             minLength: 1,
             source: data
         });
    }
});
于 2011-01-26T12:40:37.527 に答える