【发布时间】:2017-03-26 18:25:39
【问题描述】:
我有一个文本框,我想做一个自动完成功能
我有这个看法 我添加了库,但它根本没有响应
<link href="~/Content/themes/base/autocomplete.css" rel="stylesheet" />
<link href="~/Content/themes/base/jquery-ui.min.css" rel="stylesheet" />
<script src="~/Scripts/jquery-3.1.1.js"></script>
<input type="text" id="q" name="q" placeholder="Enter the text please" />
javascript代码是这样的
$(document).ready(function () {
$("#q").autocomplete({
source: function (request, response) {
$.ajax({
url: '/Book/AutoComplete/',
data: "{ 'prefix': '" + request.term + "'}",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
response($.map(data, function (item) {
return { label: item.Name, value: item.Name };
}))
},
error: function (response) {
alert(response.responseText);
},
failure: function (response) {
alert(response.responseText);
}
});
},
});
这是控制器
public JsonResult AutoComplete(string prefix)
{
var book = db.Book.Where(x => x.Name.Contains(prefix)).Select(x =>x.Name).ToList();
return Json(book, JsonRequestBehavior.AllowGet);
}
【问题讨论】:
-
您是否遇到任何错误?
-
你的自动完成库在哪里?
-
@Azim 你的意思是有一个特殊的图书馆吗?我使用 jquery-3.1.1,我猜它提供了这个功能
-
@Usman 不,没有任何错误
-
你能不能设置断点来检查天气是否会开始行动
标签: javascript jquery json ajax asp.net-mvc