jQuery autocomplete - TypeError:autocomplete不是asp.net mvc 5中的函数

时间:2016-02-22 17:01:01

标签: javascript jquery asp.net-mvc autocomplete

我尝试使用@ url.action在我的dropDownList上添加jquery自动完成功能,但由于某种原因它无法正常工作。看起来我已经加载了所有必要的jquery。我已尝试过所有内容(至少是我在网站或谷歌中找到的那个)。

我的HTML + js

<input id="test" name="test" />

@section scripts
{

@Scripts.Render("~/bundles/jqueryval")
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="~/Scripts/autocomplete.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('#test').autocomplete({
            source: '@Url.Action("GetCitiesForAutocomplete", "Students")'

        });
    });
</script>
}

我的控制生

    public JsonResult GetCitiesForAutocomplete(string term)
    {
        return Json(GetCities()
                    .Where(x=>x.Text.ToLower()
                    .Contains(term.ToLower())), JsonRequestBehavior.AllowGet);
    }

    private List<SelectListItem> GetCities()
    {
        return new List<SelectListItem> 
        {
            new SelectListItem {Text = "Jerusalem", Value = "0"},
            new SelectListItem {Text = "Haifa", Value = "1"},
            new SelectListItem {Text = "Tel Aviv", Value = "2"},
            new SelectListItem {Text = "Katzrin", Value = "3"},
            new SelectListItem {Text = "Beer Sheva", Value = "4"},
            new SelectListItem {Text = "Netanya", Value = "5"}     
        };
    }

我的问题是: 我如何使用列表中的文本在我的下拉列表中自动完成。

对于前: 如果我按下了&#39; je&#39; - &GT;我得到耶路撒冷&#39;

如果我按下了&#39; te&#39; - &GT;我得到特拉维夫&#39;

感谢。

1 个答案:

答案 0 :(得分:1)

更改GetCitiesForAutoComplete方法以返回所有城市。自动填充功能将处理过滤。

public JsonResult GetCitiesForAutocomplete()
{
    return Json(GetCities(), JsonRequestBehavior.AllowGet);
}