我正在尝试对位于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检索文本框中的数据。