twitter の typeahead の例を探しています。
関数でデータを取得したいのですが、リモートを使うべきですか?サーバーから返されるデータは、Json (単なる配列ではありません) になります。それらから、フィールドなどのみを表示したいname
。
正しいものを選択したら、そのオブジェクトの と (フィールド) を警告するなどのname
別の関数を実行したいと思います。おそらくイベントバインダーで?id
description
typeahead:autocompleted
更新/サンプル:
以下Dajaxice.async.get_closest_events()
は、内部サーバーに 3 つのパラメーター (緯度、経度、クエリ) を送信します。クエリは、ユーザーが書き込んだ値です。venuesNames
ドロップダウンに表示される配列 ( ) を返します。
$( "#locationQueryInput" ).typeahead({
remote:{
replace: function (query ) {
//alert($("locationQueryInput").val());
Dajaxice.async.get_closest_events(
(function(data){
venuesNames = []
venuesDetails = []
for (var i = 0; i < data.fVenues.length; i++) {
venuesNames.push(data.fVenues[i].name)
venuesDetails[ data.fVenues[i].name ] = {
'id' : data.fVenues[i].id,
'lat' : data.fVenues[i].lat,
'lng' : data.fVenues[i].lng,
'address' :data.fVenues[i].address,
'city' :data.fVenues[i].city,
}
}
return venuesNames
}),
{'lat' : new_marker_latlng.lat, 'lng' : new_marker_latlng.lng, 'query' : query }
);
}
}
}).bind('typeahead:selected', function(obj,datum){
// do stuff upon completion
...
}