【发布时间】:2016-02-29 07:06:00
【问题描述】:
我正在尝试将自动完成结果填充到列表框中。当用户在文本框中键入时,结果应填充到列表框中。我正在使用 Jquery-Ui 小部件来完成这项工作。但是,它不会在列表框中填充任何内容。
列表框在局部视图中。
查看
@model IEnumerable<string>
<script src="~/Scripts/jquery-2.2.1.js"></script>
<script src="~/Scripts/jquery-ui-1.11.4.min.js"></script>
<input type="text" id="tags" />
@Html.Partial("_PartialView", Model)
<script>
$(document).ready(function () {
$('#tags').autocomplete(
{
source: '@Url.Action("TagSearch", "Home")'
});
})
</script>
局部视图
@model IEnumerable<string>
@foreach(var str in Model)
{
Html.ListBox(str);
}
控制器
public ActionResult TagSearch(string term)
{
var tags = new List<string>
{
"ASP.NET",
"WebForms",
"MVC",
"jQuery",
"ActionResult",
"MangoDB",
"Java",
"Windows"
};
var rsult = tags.Where(x=>x.StartsWith(term));
return PartialView("_PartialView", rsult);
}
【问题讨论】:
-
您需要返回包含数据的json,而不是部分视图
-
源最好是数组或对象。为了提供帮助,最好设置一个带有相关示例的 jsfiddle.net。
-
试试
source: [@Url.Action("TagSearch", "Home")]
标签: jquery asp.net-mvc jquery-ui