Joe*_*oel 8 jquery json jquery-ui autocomplete asp.net-mvc-4
我环顾四周,无法找到问题的答案.我没有多少使用过jquery UI,但我正在尝试使用这个博客条目jQuery UI Autocomplete和MVC 4中的JSON作为指南实现自动完成,因为它几乎与我需要的相同.我可能错过了一些"显而易见"的东西,因为我还不了解自动完成语法的所有部分.
问题:我可以得到建议的下拉列表.但是一旦我得到了
Uncaught TypeError: Property 'results' of object #<Object> is not a
function
Run Code Online (Sandbox Code Playgroud)
控制台中出错.此外,虽然建议出现,我不能选择任何一个.一旦我尝试,清单就会消失.虽然这可能完全不同.
jqueryUI1.9.2代码中错误的位置是此代码段中的最后一行:
__response: function( content ) {
var message;
this._superApply( arguments );
if ( this.options.disabled || this.cancelSearch ) {
return;
}
if ( content && content.length ) {
message = this.options.messages.results( content.length );
Run Code Online (Sandbox Code Playgroud)
我的jquery看起来像这样:
$("#FastCategory").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Quiz/GetCategory",
type: "POST",
dataType: "json",
data: { term: request.term },
success: function (data) {
console.log("data=",data);
response($.map(data, function (item) {
console.log("item=",item,item.Description);
return { label: item.Description, value: item.Description };
}))
}
})
},
messages: {
noResults: "", results: ""
}
});
Run Code Online (Sandbox Code Playgroud)
我的控制器看起来像这样:
public JsonResult GetCategory(string term)
{
var result = (from r in db.QuizCategories
where r.Description.ToLower().Contains(term.ToLower())
select new { r.Description }).Distinct();
return Json(result, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
知道我哪里错了吗?
krz*_*chu 21
正如你在对Narendra的评论中所指出的那样,问题在于messages
选择.正如这里所回答的,results
属性,在messages
选项中,必须是函数而不是字符串
jQuery(...).autocomplete({
messages : {
noResults : '',
results : function(resultsCount) {}
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8832 次 |
最近记录: |