【问题标题】:jQuery autocomplete - TypeError: autocomplete is not a function in asp.net mvc 5jQuery自动完成-TypeError:自动完成不是asp.net mvc 5中的功能
【发布时间】:2016-02-23 05:20:32
【问题描述】:

我正在尝试使用 @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"}     
        };
    }

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

例如: 如果我按下“je”-> 我会得到“耶路撒冷”

如果我按下 'te' -> 我会得到 'Tel Aviv'

谢谢。

【问题讨论】:

  • 您使用的是 Jquery UI AutoComplete 还是 this one
  • @MihirSolanki 我正在使用 Jquery UI AutoComplete
  • 我认为您需要将@Url.Action("GetCitiesForAutocomplete", "Students") 的结果提取到 JSON 对象中并将其用作源。看起来,您有自动完成 dong 过滤以及 JSON 方法。

标签: javascript jquery asp.net-mvc autocomplete


【解决方案1】:

更改 GetCitiesForAutoComplete 方法以返回所有城市。自动完成将处理过滤。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 2011-07-07
    • 2010-12-18
    • 2016-02-25
    • 2014-02-02
    • 1970-01-01
    相关资源
    最近更新 更多