使用ajax和jQuery在asp.net mvc4中自动完成文本框

时间:2015-02-26 15:16:21

标签: javascript jquery ajax asp.net-mvc-4

我正在尝试将textbox中的公司名称作为自动填充功能获取。当我运行我的项目时,Ajax将调用success函数,并且还会正确获取记录,但autocomplete中没有textbox个建议。

我的观点是:

    $("#idcompanyname").autocomplete({
        source: function (request, response) {

            var customer = new Array();
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: '@Url.Action("Companymap", "admin")',
                data: "{'term':'" + document.getElementById('idcompanyname').value + "'}",
                dataType: "json",
                success: function (data) {
                    alert(data)

                    response($.map(data, function (v, i) {
                        var text = v.vcCompanyName;
                        alet(text)
                        if (text && (!request.term || matcher.test(text))) {
                            return {
                                label: v.vcCompanyName,
                                value: v.kCompanyId
                            };
                        }
                    }));
                },
                error: function(result) {
                    alert("No Match");
                }
            });
        }
    });
}

这是控制器上的方法:

       var query = db.tbaccounts.Where(t => t.vcCompanyName.ToLower()
                                           .StartsWith(term)).ToList();
       List<string> lst = new List<string>();
       foreach (var item in query)
       {
           lst.Add(item.vcCompanyName);
       }
       return Json(lst, JsonRequestBehavior.AllowGet);

以下是推荐的Javascript:

<script src="~/script/jquery-2.0.3.js"></script>
<script src="~/script/jquery-ui.js"></script>
<script src="~/js/jquery-1.10.2.js"></script>
<script src="~/js/jquery-ui.js"></script>

1 个答案:

答案 0 :(得分:-1)

请尝试删除

~/script/jquery-2.0.3.js

来自应用程序中的脚本引用,这应该对你有用....