0
 <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
 <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
 <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

ajax および json データで jQuery オートコンプリートを使用していますが、選択した結果を要素に追加すると問題が発生します。ex-> http://jqueryui.com/autocomplete/#remote-jsonp ol、div、p、および ul に追加できますが、それを asp:ListBox に追加してバインドできるようにしたいと考えています。結果のサーバー側がより簡単になります。

以下の関数は、ListBox を空白にするだけです。新しい要素を追加するために機能しない理由はわかりません。

      function log(message) {
          $("#<%= lbx_log.ClientID %>").text(+"<asp:ListItem Text=\""+message+"\"   />").appendTo("#log");
      }

HTML/ASP

  <div >
   <asp:ListBox runat="server" id="lbx_log" style="height: 200px; width: 300px; overflow: auto;" class="ui-widget-content">
  <asp:ListItem Text="blank" /> 
 </asp:ListBox>
 </div>
 <asp:Button runat="server" ID="btn_back" Text="Back ←" OnClick="btn_back_Click" />
 <asp:Button runat="server" ID="btn_save" Text="save" OnClick="btn_save_Click" />
 <asp:Button runat="server" ID="btn_next" Text="Next →" OnClick="btn_next_Click" />
 </div>

</form>
 </body>

4

1 に答える 1

0

$("#<%= lbx_log.ClientID %>").text(+"<asp:ListItem Text=\""+message+"\" />"));

これは、サーバー側のコントロールを html に追加しようとします。そのようには機能しません。asp.net<asp:anythingは、ページをクライアントに送信する前に、すべてのサーバー コントロール ( など) を純粋な html に変換します。レンダリングされた html を操作する必要があります。これは、ブラウザーでページ ソースを表示することで確認できます。

于 2013-07-17T18:29:37.000 に答える