0
我剛將自動完成功能添加到視圖中。它不工作,當我把焦點放在文本框上並鍵入一個字母時,什麼也沒有顯示出來。我不知道,以我做錯了什麼,但這裏是代碼:自動完成不能在視圖中工作
引用jQuery的文件:
<script src="@Url.Content("~/Scripts/jquery-1.8.3.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui.js")" type="text/javascript"></script>
查看:
$(function() {
$("#rootcause").autocomplete({
source: function (request, response) {
alert("x");
$.ajax({
url: "/ServiceEntry/FindRootCause",
type: "POST",
dataType: "json",
data: {
searchText: request.searchText,
maxResult: 10
},
success: function (data) {
response($.map(data, function (item) {
return {
label: item.FullName,
value: item.RootCauseName,
id: item.Id
}
}))
}
})
},
select: function (event, ui) {
alert(ui.item
? ("You picked '" + ui.item.label +
"' with an ID of " + ui.item.id)
: "Nothing selected, input was " + this.value
);
}
});
});
<div class="bodyContent">
<span class="leftContent">@Html.Label("Root Cause")</span>
<span class="rightContent">
<input id="rootcause" type="text" />
</span>
</div>
控制器操作:
[HttpPost]
public JsonResult FindRootCause(string searchText, int maxResult)
{
var result = RunLog.Domain.Lists.GlobalList.GetRootCause(searchText, maxResult);
return Json(result);
}
public static List<RunLog.Domain.Entities.RootCause> GetRootCause(string search, int maxResult)
{
//List<String> list = new List<String>();
EFDbContext db = new EFDbContext();
var list = (from rc in db.RootCause
where rc.RootCauseName.Contains(search)
orderby rc.RootCauseName
select rc).ToList();
return list.Take(maxResult).ToList();
}
這並沒有提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 – VladL 2013-03-15 18:37:02
沒有它根本沒有觸及動作 – 2013-03-15 18:46:26
我甚至在頁面中放置了一個靜態列表,這也行不通。我想我引用了正確的JS文件 – 2013-03-15 18:47:10