有人可以查看我的JqueryUI自动完成代码并告知我哪里出错了吗?

时间:2014-03-19 10:22:43

标签: jquery jquery-ui

我正在努力使用以下自动完成功能。

如果我调试MyMethod,我可以看到它带回了正确的数据,Jquery自动完成似乎有问题。处理返回数据的响应部分似乎有问题。

我不确定哪些回复($.map(data.d, function(item)完全正确,以及它应该是data还是data.d

帮助将不胜感激。谢谢

$(document).ready(function() {
        $("[id$='_txtStandard']").autocomplete({
            source: function(request, response) {
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "MyPage.aspx/MyMethod",
                    data: '{"MyParam":"' + request.term + '"}',
                    dataType: "json",
                    success: function(data) {
                        response($.map(data.d, function(item) {
                            return {
                                ID: item.ID,
                                Value: item.Value
                            };
                        }));
                    },
                    error: function(result) { debugger; }
                });
            },
            minLength: 1
        })
    });


public class AutoComplete
    {
        public string ID { get; set; }
        public string Value { get; set; }
    }


[WebMethod]
        public static List<AutoComplete> MyMethod(String AccommodationName)
        {

return a list....
}

1 个答案:

答案 0 :(得分:0)

在Jqueryui.com中尝试使用此放置Css

Jquery的:

  $('#textboxid').autocomplete({
        source: function (request, response) {
            $.getJSON("/Controller/textboxid?term=" + request.term, function (data) {
                response(data);
            });
        },
        minLength: 1,
        delay: 100
    });

JsonResult控制器

    public JsonResult Dimen(string term)
    {
        var dat = new DBEntity();
        var query = entity.TblTable.Select(s => s.Columnname.ToUpper()).ToList();
        var getauto = query.Where(item => !string.IsNullOrEmpty(item) && item.ToUpper().StartsWith(term.ToUpper())).Distinct().ToList();
        dat.Dispose();
        return Json(getauto, JsonRequestBehavior.AllowGet);
    }