Çevremdeyim ve sorunuma bir yanıt bulamıyorum. Ben jquery UI çok kullanmadım, ama bu blog girişi jQuery UI Autocomplete with JSON in MVC 4 kullanarak bir otomatik tamamlama uygulamak için bir kılavuz olarak çalışıyorum çünkü hemen hemen ihtiyacım olanla aynı. Muhtemelen "bariz" bir şey kaçırıyorum çünkü henüz otomatik tamamlama sözdiziminin tüm parçalarını anlamıyorum.JqueryUI otomatik tamamlama hatası: Yakalanmamış TypeError: Nesnenin özellik 'sonuçları' # <Object> bir işlev değil
Sorun: Önerilerin görünmesini sağlayabilirsiniz. Ancak en kısa sürede konsolda bir
Uncaught TypeError: Property 'results' of object #<Object> is not a
function
hatası var. Ayrıca, öneriler görünmesine rağmen, bunlardan herhangi birini seçemiyorum. Ben denediğimde liste kaybolur. Yine de bu tamamen başka bir şey olabilir.
__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);
Benim jquery şöyle görünür::
$("#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: ""
}
});
Benim kontrolör şöyle görünür:
jqueryUI1.9.2 kodunda hata konumu bu snippet'te son çizgidir
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);
}
Nerede yanlış gittiğime dair bir fikrim var mı?
Sadece mesajlar bölümünü yorumlayarak bu konuda çalışmıştım, ama siz haklısınız, teşekkürler. Bilmek güzel! – Joel