私はこのチュートリアル http://blattchat.com/2013/06/04/twitter-bootstrap-typeahead-js-with-underscore-js-tutorial/に従い 、自分のプロジェクトで作業しています。IDで隠しフィールドを設定し、フォームを別のページに送信することができました。
配列がmysqlデータベースから取得されるように、「ローカル」配列を置き換えるにはどうすればよいですか。
http://www.codingforums.com/showthread.php?t=286412も試しましたが、隠しフィールドを設定してもうまくいきませんでした。
================================================== ===================
いくつかの追加のことを試した後、次のように動作します。
<div class="content">
<form method="post" name="quicksearchform" id="quicksearchform" action="">
<fieldset>
<input type="text" placeholder="Quick search" id="quicksearch" class="quicksearch">
<input type="hidden" id="quicksearchid" name="quicksearchid">
<input type="hidden" id="quicksearchtype" name="quicksearchtype">
</fieldset>
</form>
</div>
<script>
$(function($) {
$('.quicksearch').typeahead({
name: 'quicksearch',
valueKey: 'name',
local: [{"id":"1","name":"user1","type":"type1"},
{"id":"2","name":"user2","type":"type2"}
]
}).on('typeahead:selected', function(event, datum) {
$('#quicksearchid').val(datum.id);
$('#quicksearchtype').val(datum.type);
$('#quicksearchform').submit();
});
});
</script>
local: の後に置いたのと同じ出力を生成する php ファイルがあります。したがって、実行する必要があるのは、php ファイル (json_encoded) からデータをロードすることだけです。