asp.net webservice jquery 文本框自动完成
Posted
技术标签:
【中文标题】asp.net webservice jquery 文本框自动完成【英文标题】:asp.net webservice jquery textbox autocomplete 【发布时间】:2017-08-26 20:57:56 【问题描述】:我正在尝试实现 jquery - 文本框自动完成。为此设置一个 Web 服务。
[WebMethod]
public List<Condition> GetCondition(string term)
List<Condition> listCondition = new List<Condition>();
string cs = ConfigurationManager.ConnectionStrings["db5"].ConnectionString;
using (SqlConnection con = new SqlConnection(cs))
SqlCommand cmd = new SqlCommand("spSelCondition", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter()
ParameterName = "@term",
Value = term
);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
listCondition.Add(new Condition ConditionID = rdr["ConditionID"].ToString(), ConditionName = rdr["ConditionName"].ToString() );
return listCondition;
public class Condition
public string ConditionName get; set;
public string ConditionID get; set;
WebService 工作得非常好。要使用我编写的 jquery 自动完成此 javascript 填充文本框。
<script type="text/javascript">
$(document).ready(function ()
$('#txtCondition').autocomplete(
source: function (request, response)
$.ajax(
url: 'ibs_ws.asmx/GetCondition',
method: 'post',
contentType: 'application/json;charset=utf-8',
data: JSON.stringify( term: request.term ),
dataType: 'json',
success: function (data)
response(data.d);
,
error: function (err)
alert(err);
);
);
)</script>
当我访问 web 服务时,它以 @term 作为参数并以 xml 格式返回带有 ConditionID 和 ConditionName 的结果。但是在网络表单上,当我在文本框中输入任何内容时,它会以 [object object] 发出警报。
可能是什么问题。
-- 感谢和问候
【问题讨论】:
【参考方案1】:也许它会帮助你。试试这个
我认为您需要使用 $.map(data.d, function (value, key) )。这是需要更新成功代码的示例,如下所示,然后您可以在对象中获取值。
success: function (data)
response($.map(data.d, function (value, key)
return
ConID: value.ConditionID,
ConNAme: value.ConditionName,
))
,
正如您所说,您的服务返回条件 ID 和名称,所以我使用了这些变量,您可以完全匹配它返回的内容。
【讨论】:
以上是关于asp.net webservice jquery 文本框自动完成的主要内容,如果未能解决你的问题,请参考以下文章
使用 jquery 从 asp.net webservice 解析简单的 xml
在 asp.net webservices 中使用 jQuery AJAX 总是出错:而不是成功:
ASP.net jQuery调用webservice返回json数据的一些问题
如何在 c# ASP.Net 中使用有效的 JSON 输出创建 JSON WebService 并使用 JQuery/Ajax 进行查询