自动完成 jQuery 仅在浏览器重新启动后有效



我在 ASP.NET MVC4中使用jQuery Autocomplete。我第一次尝试自动完成时,它不起作用。(在控制器中设置断点,但没有命中)然后我重新启动浏览器,一切正常。这是我的代码:

    <div class="ui-widget">
        <input type="search" name="Gemeente" class="ui-autocomplete" placeholder="Gemeente" />
    </div>

  <script type="text/javascript" language="javascript">
        $(document).ready(function () {
            $('.ui-autocomplete').autocomplete({
                source: '@Url.Action("../RelatieZoeken/AutocompleteGemeenten")',
                minLength: 2,
                delay: 10
            });
        });
    </script>

public ActionResult AutocompleteGemeenten(string term)
    {
        List<string> items = new List<string>();
        items = _zoekClient.GetGemeenten();
        List<string> filteredItems = new List<string>();
        filteredItems = items.Where(test => test != null && test.ToLower().StartsWith(term.ToLower())).Take(5).ToList();
        return Json(filteredItems, JsonRequestBehavior.AllowGet);
    }

尝试修改 minLength = 1

minLength :用户在激活自动完成之前必须键入的最小字符数。零对于只有几个项目的本地数据很有用。当有很多项目时应该增加,其中单个字符可以匹配几千个项目。

例如。

  <script type="text/javascript" language="javascript">
        $(document).ready(function () {
            $('.ui-autocomplete').autocomplete({
                source: '@Url.Action("../RelatieZoeken/AutocompleteGemeenten")',
                minLength: 1,
                delay: 10
            });
        });
    </script>

最新更新