0

非常に基本的なユーザーコントロールを作成しました。これは、JQueryオートコンプリート機能がアタッチされたasp.netテキストボックスです。これはすべて、プログラムではなくaspxページで定義されています。

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
  <script type="text/jscript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>


  <script type="text/jscript" >


      $(function() {

    $(".tb").autocomplete({

        source: [ <%=GetAutoCompleteData%> ],

    });

});
  </script>


  <asp:TextBox ID="TBAUTO" class="tb" runat="server"></asp:TextBox>
  <asp:Button ID="Button1" runat="server" Text="Search" onclick="Button1_Click"></asp:Button>

これは、1つのコントロールがページ上にある場合に完全に機能します。しかし、私が別のものを追加すると、それらは両方とも同じデータを持っているように見えますが、そうではないはずです。

ページに何が表示されるかを確認すると、期待どおりですが、オートコンプリート機能が開始されると、両方に同じデータが含まれます

これがページにレンダリングされるものです これがページにレンダリングされるものです

どんな助けでもいただければ幸いです。

ここに画像の説明を入力してください

4

2 に答える 2

1

$(".tb") を使用してクラスでオートコンプリートをチェーンしていることがわかります。これは、1 つ以上の dom 要素のセットになります。以下のように代わりに # を使用してみてください

    $(function() {      
        $("#<%= TBAUTO.ClientID %>").autocomplete({          
        source: [ <%=GetAutoCompleteData%> ],       
        });  
    });   
于 2012-09-14T09:38:10.597 に答える
0

上記の解決策ではうまくいかなかったので、 $(function() {

$(".tb").autocomplete({ 

    source: [ <%=GetAutoCompleteData%> ], 

}); 

うまくいきました。ページの読み込み時に CssClass をコード内の特定の変数 (DataFilter) に設定するだけです。

$(関数() {

$(".<%=DataFilter%>").autocomplete({

    source: [ <%=GetAutoCompleteData%> ],

});
于 2012-09-14T10:56:38.603 に答える