gpt4 book ai didi

c# - 带有 C# 的 ASP.Net 页面中的 JQuery 自动完成插件

转载 作者:太空宇宙 更新时间:2023-11-03 14:34:26 26 4
gpt4 key购买 nike

我正在尝试使用自动完成插件编写一些 JQuery,以便在用户开始输入姓名时向用户显示姓名列表(请参见下面的代码)。除非用户开始退格以更改输入的用户名,否则代码工作正常,这会导致它在自动完成结果中的现有值上写入新值。我在这里做错了什么,可能是通过使用 keyup 函数启动自动完成,或者如果用户开始备份,是否有某种方法可以清除现有的自动完成结果?

这是 Default.aspx 标记文件中的 JQuery 代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="js/jquery-1.3.2.js" ></script>
<script type="text/javascript" src="js/jquery.autocomplete.js" ></script>
<script type="text/javascript">
$(document).ready(function() {
$("#example").keyup(function() {
$.ajax({
type: "POST",
url: "Default.aspx/GetCustomerNames",
data: "{ searchParam: '" + $("#example").val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$("#example").autocomplete(msg.d,
{ scroll: false, max: 10, width: 250, selectFirst: true });
}
});
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
Customer Name: <input id="example" autocomplete="off" type="text" />
</div>
</form>
</body>
</html>

这是我的 Default.aspx.cs 代码隐藏文件中返回数据的代码:

[WebMethod]
public static string[] GetCustomerNames(string searchParam)
{
List<string> data = new List<string>() { "Andrew", "Ramona", "Russ", "Russell", "Raymond", "Annette", "Anthony" };

List<string> names = new List<string>();

foreach (string s in data)
{
if (s.ToLower().StartsWith(searchParam))
{
names.Add(s);
}
}

return names.ToArray();

}

最佳答案

我的印象是您可以将搜索页面作为自动完成功能的第一个参数。

$(document).ready(function(){
$("#example").autocomplete("Default.aspx/GetCustomerNames", { scroll: false, max: 10, width: 250, selectFirst: true });
});

类似的事情,您可能需要找到正确的选项来使用它来执行您想要的操作,但至少它不会在每次键入后重新安装自动完成功能。

关于c# - 带有 C# 的 ASP.Net 页面中的 JQuery 自动完成插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1631226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com