如何使用ListView在ASP.NET中进行自动完成?

时间:2019-04-24 23:38:25

标签: javascript asp.net ajax listview autocomplete

我正在尝试对位于asp:ListView中的asp:TextBox实施自动完成。我写了一个WebService.asmx,它确实在ListView之外正确地检索了值。

我尝试了WebService.asmx,它在ListView之外时可以正常自动完成。 我试图重现同一件事,但是这次是在asp:ListView,ItemTemplate中。我没有收到任何错误,但是我也没有任何自动完成选项。 我尝试了许多方法来获取TextBox.ClientID,但没有任何效果。

///////////////////////////////////////////////// ////////////// 外部列表视图(有效)

<script>
      var txtSearch = $('#<%= txtUser.ClientID %>');
      txtSearch.autocomplete({
            source: function (request, response) {
                  var param = { searchTerm: txtSearch.val() };
                  $.ajax({
                        url: "WebServices.asmx/GetLogInUsers",
                        data: JSON.stringify(param),
                        type: "POST",
                        dataType: "json",
                        contentType: "application/json; charset=utf-8",
                        success: function (data) {
                              response(data.d)
                        },
                        error: function (result) {
                              alert(result);
                        }
                  });
            },
            minLength: 3
      });
</script>
<asp:TextBox ID="txtUser" runat="server" class="form-control"></asp:TextBox>

///////////////////////////////////////////////// ////////////// 对于列表视图

<script>
a) var txtSearch = $("*[id$=lvMyGestionnaires] input[id$=txtLvADID]");
b) var txtSearch = $("*[id=lvMyGestionnaires] input[id*=txtLvADID]");
c) var txtSearch = $("*[id=lvMyGestionnaires] input[id=txtLvADID]");
d) var txtSearch = $("*[id*=lvMyGestionnaires] input[id*=txtLvADID]");
e) var txtSearch = $('#<%=lvMyGestionnaires.ClientID %> .txtLvADID');
f) var txtSearch = $('#<%=lvMyGestionnaires.ClientID %> input.txtLvADID');
g) var txtSearch = $('*[id$="lvMyGestionnaires"] input.txtLvADID');
      txtSearch.autocomplete({
            source: function (request, response) {
                  var param = { searchTerm: txtSearch.val() };
                  $.ajax ({
                        url: "WebServices.asmx/GetLogInUsers",
                        data: JSON.stringify(param),
                        type: "POST",
                        dataType: "json",
                        contentType: "application/json; charset=utf-8",
                        success: function (data) {
                              response(data.d)
                        },
                        error: function (result) {
                              alert(result);
                        }
                  });
            },
            minLength: 3
      });

</script>
<asp:TextBox ID="txtUsers" runat="server" CssClass="txtLvADID"></asp:TextBox>

在上半部分,结果显示一个自动完成功能,一旦您键入至少3个字母,它将触发自动完成功能并显示用户列表。

第二部分,我尝试了许多方法,从在线搜索中得到启发,从A到G检索文本框中的数据。

0 个答案:

没有答案