2013-11-26 3 views
6

मैंने देखा है और मेरी समस्या का उत्तर नहीं मिल रहा है। मैंने jquery UI का अधिक उपयोग नहीं किया है, लेकिन मैं इस ब्लॉग एंट्री jQuery UI Autocomplete with JSON in MVC 4 का उपयोग करके एक ऑटोकंपलेट लागू करने की कोशिश कर रहा हूं क्योंकि यह एक गाइड के रूप में व्यावहारिक रूप से समान है। मुझे शायद कुछ "स्पष्ट" याद आ रहा है क्योंकि मैं अभी तक स्वत: पूर्ण वाक्यविन्यास के सभी टुकड़ों को समझ नहीं पा रहा हूं।JqueryUI स्वत: पूर्ण त्रुटि: Uncaught TypeError: ऑब्जेक्ट का गुण 'परिणाम' # <Object> कोई फ़ंक्शन नहीं है

समस्या: मैं प्रकट होने के सुझावों को छोड़ सकता हूं। लेकिन जैसे ही यह होता है मैं कंसोल में एक

Uncaught TypeError: Property 'results' of object #<Object> is not a 
function 

त्रुटि मिलती है। इसके अलावा, हालांकि सुझाव दिखाई देते हैं, मैं उनमें से किसी का चयन नहीं कर सकता। जैसे ही मैं कोशिश करता हूं सूची गायब हो जाती है। हालांकि यह पूरी तरह से कुछ और हो सकता है।

__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); 

मेरे 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: "" 
     } 
    }); 

मेरे नियंत्रक इस तरह दिखता है:

jqueryUI1.9.2 कोड में त्रुटि के स्थान इस स्निपेट में अंतिम पंक्ति है

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); 
} 

कोई विचार जहां मैं गलत हो रहा हूं?

उत्तर

16

जैसा कि आपने नरेंद्र उत्तर पर टिप्पणी में इंगित किया है, समस्या messages विकल्प के साथ है। के रूप में here उत्तर दिया, results संपत्ति, messages विकल्प में एक समारोह के बजाय एक स्ट्रिंग

jQuery(...).autocomplete({ 
    messages : { 
     noResults : '', 
     results : function(resultsCount) {} 
    } 
}); 
+0

मैंने संदेश अनुभाग को बस टिप्पणी करके इस पर काम किया था, लेकिन आप सही हैं, इसलिए धन्यवाद। जानकार अच्छा लगा! – Joel

0

ऐसा लगता है कि आप एक चर का जिक्र कर रहे हैं और एक समारोह के रूप में इसे एक्सेस करने का प्रयास कर रहे हैं।

__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; 

बस कोड को परिणामस्वरूप सामग्री को असाइन करें और यह काम करेगा।

+1

अच्छी तरह से, हाँ, इतना तो मुझे त्रुटि संदेश से पता होना चाहिए। :) जो मैं नहीं देखता वह क्या कर रहा है। मैं स्वत: पूर्ण कॉल के "संदेश:" खंड पर टिप्पणी करके त्रुटि को दूर करने में सक्षम था। इसे बेहतर समझने के लिए मुझे इसे पढ़ना होगा। – Joel

संबंधित मुद्दे