2012-02-24 23 views
1

私は、ソースがコードの背後から計算されるJqueryオートコンプリートajax関数を持っています。しかし、私はクライアントスクリプトマネージャを使用してjavascriptでソースを取得していますが、私の関数は実行されません。別に私はJqueryオートコンプリートajax関数を呼び出す

ClientScriptManager.RegisterStartupScript() 

を通じて背後にあるコードからそのAjaxの機能を呼び出すために、しかし、再び、私の機能が実行されないしようとしていますことから

。 My機能は次のとおりです。

<form id="form1" runat="server"> 
    <div> 
     <input id="Text1" type="text"/>&nbsp;&nbsp;&nbsp; 
     <input id="Text2" type="text" /><br /> 
     <br /> 
     <input id="Button2" type="button" value="button" /> 

    <script type="text/javascript"> 
    var mydataformat = [{ label: "....", value: "....", icon: "....." }, 
         { label: "....", value: ".....", icon: "....." }]; 

    $(function() { 
    $("#Text1").autocomplete({      
    minLength: 0,      
    source: JSVar,      
    focus: function (event, ui) 
    { 
    $("#Text1").val(ui.item.label);       
    return false;      
    }})      
    .data("autocomplete")._renderItem = function (ul, item) {       
    return $("<li></li>") 
    .data("item.autocomplete", item)        
    .append("<a><img src='" + item.icon + "' width='32' height='32' /> " + item.label + "</a>")        
    .appendTo(ul);      
     }; 
    }); 

</script> 
+0

あなたの関数は '$(function(){//あなたのコードはここにありますか?})のようなjquery onreadyハンドラにありますか; – Marc

+0

はいです。残念ながら私はこのjquery関数のソースにデータベースクエリから計算されたデータを追加することができません。 – vini

+0

'source:mydataformat'を置くと(もちろんいくつかの有効な値で)、そのリストから何かをテキストボックスに入力すると動作します。 –

答えて

3

あなたはhereを述べたように、あなたのデータがロードされた時にソースを設定する必要があります。

$("#Text1").autocomplete("option", "source", ["your", "loaded", "data"]); 

...またはより良いあなたの計算されたデータの準備ができているとき、あなたのオートコンプリートを初期化し、それ以前ではありません。

+0

返信ありがとうございますが、ここに入力するデータは動的で、キーワードlabel、value、iconの形式です。 – vini

+0

どうすればいいですか?データの準備ができたらオートコンプリートを初期化しますか? – vini

+0

データはいつ用意されていますか?あなたのjs varが満たされるのはいつですか?あなたは 'JSVar'を塗りつぶす/置く場所がなければなりません。 **あなたのオートコンプリートコードを設定する必要がある**後**。 – Marc

0

jQueryUIサイトのCustom Data sampleを見ると、あなたが望むものすべてをカバーしているようです。ラベル、値、アイコンなどを使用します。

残っている部分は、データをロードしてから初期化するまで待機することだけです。

+0

私は同じものを使用しています。待つために、私はすでにコードビハインドで自分のデータベースクエリの後にJavaScript関数全体を登録しています。しかし、それはうまく実行されていないようです。助言がありますか? – vini

関連する問題