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

Autocomplete textbox in asp.net mvc4 using ajax and jQuery

本文关键字:mvc4 net 文本 asp ajax jQuery 使用      更新时间:2024-06-12

我正试图在textbox中获取公司名称作为自动完成。当我运行我的项目时,Ajax将调用success函数,并且记录也被正确地获取,但在textbox中没有autocomplete建议。

我的观点是:

    $("#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>

请尝试删除

~/script/jquery-2.0.3.js

来自应用程序中的脚本引用,这应该对您有效。。。。