【发布时间】:2016-04-27 13:44:15
【问题描述】:
大家好,感谢您的帮助,
我在 MVC 中有一条带有自动完成建议的文本。
视图中的文本框是:
<form action="Locator">
<div class="col-lg-3 col-md-3 hidden-sm hidden-xs" style="margin-top:2%;">
<input type="text" class="formLocator" value="Milano" data-date-end-date="0d" id="textLocator" name="searchstring">
<h4 class="FormTextLocator">dove</h4>
</div>
</form>
我为此文本框创建了一个 javascript 代码:
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
// Locator
$("#textLocator").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Home/AutocompleteSuggestions",
type: "POST",
dataType: "json",
data: { term: request.term },
success: function (data) {
response($.map(data, function (item) {
return { value: item.name };
}))
}
})
},
messages: {
noResults: "", results: ""
}
});
});
而关联的控制器是:
[HttpPost]
public JsonResult AutocompleteSuggestions(string term)
{
var db = new TocFruit();
var suggestions = from s in db.city select s.name;
var namelist = suggestions.Where(n => n.ToString().ToLower().StartsWith(term.ToLower()));
return Json(namelist, JsonRequestBehavior.AllowGet);
}
自动完成值被传递给视图,但这是结果视图:
请帮帮我,我真的不知道该怎么办。
谢谢大家,
罗伯托
【问题讨论】:
-
试试
return { value: item }; -
我认为您在填充自动完成时忘记提及标签。标签:item.Description
-
我必须写的地方 return { value: item }; ?
-
@user5297740。而不是
return { value: item.name };- 您将返回string的集合(不包含名为name的属性),而不是复杂对象的集合`
标签: javascript c# asp.net-mvc autocomplete