我在asp.net项目中使用jquery自动完成功能。它不起作用。你有什么主意吗。代码如下。
<script type="text/javascript">
$(function () {
$('#clientabbrev').val("");
$("#clientstate").autocomplete({
source: "clientstates.aspx",
select: function (event, ui) {
$('#clientstateid').val(ui.item.clientid);
$('#clientstateabbrev').val(ui.item.clientabbrev);
}
});
$("#clientstate_abbrev").autocomplete({
source: "clientstatesabbrev.aspx",
minLength: 2
});
});
</script>
问题是states.aspx返回数据,但它没有显示在jquery自动完成控件中。
答案 0 :(得分:1)
您的服务器需要返回具有属性id,label和value的JSON序列化对象数组。例如。 :
[{“id”:“1”,“label”:“Mike Smith”,“value”:“Mike Smith”},{“id”:“2”,“label”:“Bruce Wayne”, “价值”:“布鲁斯韦恩”}]
你能用firebug或Fiddler确认你的服务器正在返回正确的响应吗?
如果您在使用C#序列化数据时遇到问题,可以尝试使用JavaScriptSerializer:
var result = from u in users
select new {
id = u.Id,
value = u.Name,
label = u.Name
};
JavaScriptSerialier serializer = new JavaScriptSerializer();
var json = serializer.Serialize(result);
// now return json in your response