大家好,感谢您的帮助,
我需要使用C#和MVC中的建议自动填充文本框。
视图中的文本框是:
<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">Where</h4>
</div>
<div class="hidden-lg hidden-md col-sm-3 col-xs-12" style="margin-top:2%;">
<input type="text" class="formLocator" value="Milano" data-date-end-date="0d" id="textLocator" name="searchstring">
<h4 class="FormTextLocator">Where</h4>
</div>
我为此文本框创建了一个javascript代码:
$(function ()
{
$("#textLocator").autocomplete(
{
source: "/Home/AutocompleteSuggestions",
minLength: 1,
select: function (event, ui)
{
if (ui.item)
{
$("#textLocator").val(ui.item.value);
$("form").submit();
}
}
});
});
与之关联的控制器是:
public JsonResult AutocompleteSuggestions(string searchstring)
{
var db = new TocFruit();
var suggestions = from s in db.city select s.name;
var namelist = suggestions.Where(n => n.ToString().StartsWith(searchstring.ToLower()));
return Json(namelist, JsonRequestBehavior.AllowGet);
}
但所有这些都行不通,但我不明白我做错了什么。
感谢所有人,
罗伯特
答案 0 :(得分:4)
答案 1 :(得分:0)
确定。现在,在您的帮助下,控制器会返回正确的值列表,但文本框不会显示值。新代码写得如此:
现在代码编写如下:
的Javascript
$(document).ready(function () {
$("#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 { label: item.name, value: item.name };
}))
}
})
},
messages: {
noResults: "", results: ""
}
});
});
HTML
<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>
控制器
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);
}
非常感谢