入力テキストのオートコンプリートにMagicSuggestを使用しています。オートコンプリート フィードは非常に大きいため、完全にダウンロードできません。例では、次のコードを提供しています。
ジャバスクリプト
$(document).ready(function() {
var jsonData = [];
var cities = 'New York,Los Angeles,Chicago,Houston,Paris,Marseille,Toulouse,Lyon,Bordeaux,Philadelphia,Phoenix,San Antonio,San Diego,Dallas,San Jose,Jacksonville'.split(',');
for(var i=0;i<cities.length;i++) jsonData.push({id:i,name:cities[i],status:i%2?'Already Visited':'Planned for visit',coolness:Math.floor(Math.random() * 10) + 1});
$('#ms3').magicSuggest({
selectionPosition: 'bottom',
renderer: function(city){
return '<div>' +
'<div style="font-family: Arial; font-weight: bold">' + city.name + '</div>' +
'<div>Cooooolness: ' + city.coolness + '</div>' +
'</div>';
},
minChars: 1,
selectionStacked: true,
data: jsonData
});
HTML
<h3>Stacking in bottom, ajax source (type 1 char to load)</h3>
<input id="ms3" style="width:400px;" type="text"/>
よろしければ、ここにJSFIDDLEがあります。これはうまく機能していますが、データは完全にロードされています (この場合はハードコードされています)。ユーザー入力に基づいて ajax 経由でデータをロードする方法はありますか? 私はPHP側については非常に有能なので気にしませんが、フロントエンドでは非常に新しいです。