如何使用JQuery访问更新面板中的控件

时间:2015-08-31 13:27:32

标签: javascript c# jquery ajax web-services

我想通过在updatepanel中的转发器“repAbc”中使用带有webservice的jquery来执行自动完成,以获得文本框控件“txtAbc”。自动完成功能仅在updatepanel的回发之前有效。回发后,它无法正常运行。

  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
     <asp:Repeater ID="repAbc" runat="server" OnItemCommand="repAbc_ItemCommand"
 OnItemDataBound="repAbc_ItemDataBound">
          <ItemTemplate>
           <asp:TextBox ID="txtAbc" runat="server"></asp:TextBox>
       </ItemTemplate>
 </asp:Repeater>
  </ContentTemplate>
    </asp:UpdatePanel>
<script type="text/javascript">
    $(function () {

        $("[id$=txtAbc]").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: '<%=ResolveUrl("~/Services.asmx/GetAbcMethod") %>',
                    data: "{ 'prefix': '" + escape(request.term) + "', 'varType':'eqType'}",
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    success: function (data) {
                        response($.map(data.d, function (item) {
                            return {
                                value: item
                            }
                        }));
                    },
                    error: function (response) {
                        alert(response.responseText);
                    },
                    failure: function (response) {
                        alert(response.responseText);
                    }
                });
            },
            minLength: 1
        }); });
</script>

1 个答案:

答案 0 :(得分:0)

我通过添加pageLoad()函数解决了这个问题。

<script type="text/javascript">
  function pageLoad() {
      $(function () {
         // Textbox Autocomplete function here...
      });
  }
</script>