अगर मैं आपको सही ढंग से समझ रहा हूं, तो आपको परिणाम वापस मिल रहे हैं लेकिन इनपुट फ़ील्ड को पॉप्युलेट करने में असमर्थ हैं। हालांकि मैं ट्विटर बूटस्ट्रैप टाइपहेड का उपयोग नहीं करता हूं, मैं jQuery की स्वत:पूर्ण सुविधा के साथ कुछ ऐसा ही करता हूं। नीचे दिया गया कोड परीक्षण नहीं किया गया है और निश्चित रूप से आपको इसे अपने लिए संशोधित करने की आवश्यकता होगी, लेकिन उम्मीद है कि कुछ मदद मिलेगी।
यह काम कर रहा jsFiddle देखें डेमो कुछ इसी तरह के लिए।
PHP
$array = array();
while ($row = mysql_fetch_assoc($sql)) {
array_push($array,array('ContactName'=>$row['ContactName'],'Telephone'=>$row['Telephone'],'Email'=>$row['Email']));
}
echo json_encode($array);
आप मैन्युअल रूप से URL (उदा:yoursite/Customer.php?query=SomeContactName) दर्ज करके जांच सकते हैं कि क्या लौटाया जाता है। आपको कुछ ऐसा ही दिखना चाहिए:
[{"ContactName":"Some Contact","Telephone":"5555555555","Email":"example@sqldat.com"},
{"ContactName":"Some Other Contact","Telephone":"5555555555","Email":"example@sqldat.com"}]
HTML/जावास्क्रिप्ट
<script>
$('input.typeahead').typeahead({
source: function (query, process) {
$.ajax({
url: 'Customer.php',
type: 'POST',
dataType: 'JSON',
// data: 'query=' + query,
data: 'query=' + $('#contactName').val(),
success: function(data)
{
var results = data.map(function(item) {
var someItem = { contactname: item.ContactName, telephone: item.Telephone, email: item.Email };
return JSON.stringify(someItem.contactname);
});
return process(results);
}
});
},
minLength: 1,
updater: function(item) {
// This may need some tweaks as it has not been tested
var obj = JSON.parse(item);
return item;
}
});
</script>
यहां कुछ अन्य पोस्ट हैं जिन पर आप एक नज़र डालना चाहेंगे AJAX से प्रतिक्रिया कैसे वापस करें कॉल? और बूटस्ट्रैप टाइपहेड AJAX परिणाम स्वरूप - उदाहरण