2009-06-18 3 views
2

jqueryのオートコンプリートキー押下データベース

webmethodがすべてのkeyupイベントでデータを返すようにするために、私はdiv要素にデータを割り当て、それは必要に応じて動作します。

<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
     //$("#txtItmCode").autocomplete({url: "Journal.aspx/loadData" }); 

     $("#txtItmCode").keyup(function() { 
      $("#txtItmCode").autocomplete({url: "Journal.aspx/loadData" }); 
     }); 
    }); 
</script> 

答えて

1

を修正

<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
     var strItmCodes; 

     $("#txtItmCode").keyup(function() { 
      var search; 
      search = $("#txtItmCode").val(); 

      if (search.length > 0) { 
       $.ajax({ 
        type: "POST", 
        url: "Journal.aspx/loadData", 
        contentType: "application/json; charset=utf-8", 
        data: "{'Like':'" + $('#txtItmCode').val() + "'}", 
        dataType: "json", 
        success: function(retval) { 
         strItmCodes = retval.d.split("|"); 

         $("#txtItmCode").autocomplete(strItmCodes); 
         $("#suggest").html(retval.d); //elemet 'suggest' is a div 
        } 
       }); 
      } 
     }); 
    }); 
</script> 

私はあなたがしてプラグインがイベントハンドラを追加しますが、最初のキープレスの前にオートコンプリートのプラグインを有効にするべきだと思います。

$("#txtItmCode").autocomplete({url: "Journal.aspx/loadData"}); 

そして、あなたのサービスは、プラグインによってフォーマットGET要求に応答できることを確認してください:あなたは、元のautocompleteプラグインを使用すると仮定すると、

+0

ありがとうございますsolssonに返信してください! はい私は元のオートコンプリートpuginを使用していますが、最初のキーを押す前にオートコンプリートプラグインを有効にしようとしました。 var strItmCodes; strItmCodes = "SELECT"; $( "#txtItmCode")。オートコンプリート(strItmCodes); $( "#のtxtItmCode")。からkeyup(機能(strItmCodes){... が、それはまだ動作しません。あなたはまた、どのようにGET要求に応答することができます)確認サービス(Webメソッドを作成することが示唆 ? –

+0

FirebugまたはLiveHTTPHeadersをインストールしてオートコンプリートプラグインから送信されたリクエストを確認します – solsson

+0

オートコンプリートプラグインの正しいオプションパラメータを使って上記の投稿を編集しました – solsson