首页 > 解决方案 > 如何在jquery中动态自动完成

问题描述

我需要在自动完成中获取员工列表。

我是 asp.net 的新手,我使用的方式与我们用来显示任何员工等详细信息的方式相同,包括所有必要的文件。

<body>
@*@foreach(var temp in Model){
       var temporary = @temp.name;
}*@
<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags">
</div>

<script>
debugger
$(document).ready(function () {
    var temporary=[@foreach(var temp in Model){@temp.name}];
    $("#tags").autocomplete({
        source: temporary
    });
});

控制器

public ActionResult autocomplete() {
        var temp = db.employees.ToList();
        //ViewBag.menus = temp;
        //return View(temp);
        return View(temp);
    }

标签: jqueryasp.net-mvc-4autocomplete

解决方案


我进行了一些更改并遵循了 Mycontroller 教程:-

 public ActionResult autocomplete()
    {
        return View();
    }
    public JsonResult getautomate(string term)
    {
        var temp = db.employees.Where(x => x.name.StartsWith(term)).Select(y=>y.name).ToList();
        return Json(temp, JsonRequestBehavior.AllowGet);
    }

我的观点:-

@using (@Html.BeginForm()) {
   <b>name:</b>
    @Html.TextBox("searchterm", null, new {id="textsearch" })

    @*<input type="submit" value="search"/>*@
    }

 $(function () {
    $("#textsearch").autocomplete({
        source: '@Url.Action("getautomate")',
        minLength:2,
    });
});

推荐阅读