Jquery自动完成

时间:2010-12-11 07:56:40

标签: jquery-ui asp.net-ajax jquery

我在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自动完成控件中。

1 个答案:

答案 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