1

オートコンプリートでは、ajax 呼び出しを実際に操作する必要がないことに気付きました (ajax 呼び出しで機能する多くの例を見てきました)。次のように簡単に操作できます。

$(document).ready(function () {
    var myData = jQuery.parseJSON(getProjects());
    $("#inputSearchProject.ClientID").autocomplete(myData);
});   

ここで、getProjects()は小さなスクリプトTheProjectsで、オートコンプリートの提案 JSON 文字列で初期化されるプロパティです。

<script type="text/javascript">
    function getProjects() {
        return '<%= this.TheProjects %>';
    }
</script>

デバッグ中に、myData が値を受け取ることに気付きましたが、まだランタイム エラーが発生します。「Microsoft JScript ランタイム エラー: オブジェクトはプロパティまたはメソッド 'オートコンプリート' をサポートしていません」これに答えます。

編集:私はエラーを解決しました(それはばかげたものでした:)初心者のような間違いです)

コードを次のように変更しました。

$(document).ready(function () {
     var myData = jQuery.parseJSON(getProjects());
     $("[id$='txtSearchProject']").keypress(function () 
   {
     $("[id$='txtSearchProject']").autocomplete(myData);
  })
 });

入力コントロールに何かを書いたことを検出したときにのみオートコンプリートを開始したいからです。なぜうまくいかないのか、何か提案はありますか?


ご提案いただきありがとうございます。私は問題を解決しましたが、あなたから受け取ったヒントだけです。ここに私の小さなコードを入れます。おそらく、同様の質問を持つ誰かが将来役に立つと思うでしょう:

$(document).ready(function () {
 var myData = jQuery.parseJSON(getProjects());
 $("[id$='txtSearchProject']").keypress(function () 
  {
       $("[id$='txtSearchProject']").autocomplete({ source: myData});
  })
});

// .autocomplete(my data) の代わりに追加しました --->.autocomplete({ source: myData})

4

1 に答える 1

1

jQuery UI スクリプト ファイルがありません。

ここで入手してください:

http://jqueryui.com/download

于 2012-08-08T12:04:55.780 に答える