gpt4 book ai didi

c# - 自动完成 jquery 不工作?

转载 作者:行者123 更新时间:2023-11-30 18:40:04 24 4
gpt4 key购买 nike

我有一个文本框,在里面我希望它自动完成。自动完成的数据将通过数据库提供。

这是我的 Jquery:

 var data = "autocompletetagdata.aspx"
$("#item").autocomplete({
source: data
});

这是我现在放入 autocompletetagdata 的内容:

protected void Page_Load(object sender, EventArgs e)
{
string term = Request.QueryString["term"];
SqlConnection myConnection = new SqlConnection(connStr);
myConnection.Open();
string SQL = ("select Top 10 LTRIM(RTRIM(PGPRDC)) As PGPRDC FROM SROPRG SROPRG");
SqlCommand myCommand = new SqlCommand(SQL, myConnection);
StringBuilder sb = new StringBuilder();
try
{
SqlDataReader reader = myCommand.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
sb.Append(reader.GetString(0))
.Append(Environment.NewLine);
}
}
reader.Close();
}
catch (Exception ex)
{
myConnection.Close();
}
myConnection.Close();
Response.Write(sb.ToString());
//return "['word', 'hello', 'work', 'oi', 'hey']";
}

我做错了什么?

编辑:

 <script type="text/javascript" src="/scripts/js/jquery.scrollTo-min.js"></script>
<script type="text/javascript" src="/scripts/js/jquery.flash.min.js"></script>
<script type="text/javascript" src="/scripts/js/jquery.sifr.min.js"></script>
<script type="text/javascript" src="/scripts/js/global.js"></script>
<script type="text/javascript" src="/scripts/js/jquery-ui-1.8.17.custom.min.js"></script>
<script type="text/javascript" src="/scripts/js/orderstatus.js"></script>
<script type="text/javascript" src="/scripts/js/jquery.ui.core.js"></script>
<script type="text/javascript" src="/scripts/js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="/scripts/js/jquery.ui.datepicker.js"></script>
<script type="text/javascript" src="/scripts/js/jquery.qtip-1.0.0-rc3.min.js"></script>
<script type="text/javascript" src="/scripts/js/json_parse.js"></script>

当您在浏览器中转到 autocompletetagdata..aspx 时,您会回到屏幕上...

SC052 SC053 SC055 SC060 SC061 SC062 SC063 SG011 SG014 SG015

Firebug 也显示这些项目在响应中被发回,但文本框没有任何反应

最佳答案

这是 Jquery 代码:

$("#txt1").autocomplete({
source: function (request, response){
$.ajax({
type: "POST",
url: "YourAddress",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
response($.map(data.d, function (item) {
return {
id: item.Value,
value: item.Text
}
}))
}
});
},
select: function (event, ui) {
$("#hdnId").val(ui.item.id);//Put Id in a hidden field
}
});

调用你 ajax 请求并返回像这样的 JSON 数据:

[{"Value":val1,"Text":"text1"},
{"Value":val2,"Text":"text2"}]

为了返回类似的东西,你必须定义一个这样的类:

public class Autocomplete
{

private int val;
private string text;

public int Value
{
get
{
return val;
}
set
{

val = value;
}
}

public string Text
{
get
{
return text;
}
set
{

text = value;
}
}
}

所以它足以返回此类对象的列表(List<Autocomplete>)。因此创建这个列表并用你的 sqlcommand 填充它,然后将它作为你的 XMLHTTPRequest 的响应返回

我测试过了,效果不错

祝你好运。Foroughi

关于c# - 自动完成 jquery 不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8878878/

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