मैं एक एजेक्स फ़ंक्शन के साथ बूटस्ट्रैप टाइपहेड का उपयोग कर रहा हूं, और जानना चाहता हूं कि सही जेसन परिणाम प्रारूप क्या है, एक आईडी और एक descripcion वापस करने के लिए। मुझे एक एमवीसी 3 मॉडल के साथ टाइपहेड चयनित तत्व को बांधने के लिए आईडी की आवश्यकता है।बूटस्ट्रैप टाइपहेड AJAX परिणाम प्रारूप - उदाहरण
[Html]
<input id="myTypeahead" class='ajax-typeahead' type="text" data-link="myUrl" data-provide="typeahead" />
[Javascript]
$('#myTypeahead').typeahead({
source: function (query, process) {
return $.ajax({
url: $('#myTypeahead').data('link'),
type: 'post',
data: { query: query },
dataType: 'json',
success: function (jsonResult) {
return typeof jsonResult == 'undefined' ? false : process(jsonResult);
}
});
}
});
This works properly when I return a simple list of strings, for example:
{item1, item2, item3}
But I want to return a list with Id, for example:
{
{Id: 1, value: item1},
{Id: 2, value: item2},
{Id: 3, value: item3}
}
कैसे ajax में इस परिणाम पर कार्रवाई करने के "सफलता: समारोह()"
इस कोड है?
jquery स्वत: पूर्ण के साथ यह बहुत आसान है, क्योंकि मैं एक जेसन ऑब्जेक्ट सूची लौटा सकता हूं।
[jquery Autocomplete process data example]
...
success: function (data) {
response($.map(data, function (item) {
return { label: item.Id, value: item.Value, id: item.Id, data: item };
})
...
लेकिन यह बूस्ट्रप टाइपहेड के साथ काम नहीं करता है।
क्या कोई मेरी मदद कर सकता है?
धन्यवाद।
आप एक 'बजाय Array' के रूप में वापसी मान परिवर्तित करने की कोशिश की? 'var list = [{id: 1, value: item1}, {id: 2, value: item2}, {Id: 3, value: item3}];' –
हां, मुझे इसके साथ कोई समस्या नहीं है। मेरी समस्या यह है कि आईडी को एचटीएमएल नियंत्रण से कैसे बांधें। प्रक्रिया (डेटा) फ़ंक्शन केवल स्ट्रिंग की सरणी स्वीकार करता है, न कि ऑब्जेक्ट्स की सरणी – Gonzalo
क्या आप TypeAhead का नवीनतम संस्करण उपयोग कर रहे हैं? –