以下のコードでブートストラップの先行入力を使用して提案を表示できます。
var xyz =JSON.stringify(this.collection.toJSON());
var jasonxyzObj = $.parseJSON(xyz);
var xyzArray = [];
for (var i = 0; i < jasonxyzObj.length; i++) {
xyzArray.push(jasonxyzObj[i].id'');
}
$(".abc-class").typeahead({
source: xyzArray,
});
しかし、hbs ファイルを使用して id だけでなく、id 名カウントとして提案を表示したいと考えています。私の hbs ファイルは以下のようになります: abc.hbs (ABC)
<table class="table">
<tr>
<td>{{name}}</td>
<td>{{id}}</td>
<td>{{count}}</td>
</tr>
</table>
以下のコードを試しましたが、提案に1文字が表示されます:
var xyz =JSON.stringify(this.collection.toJSON());
var jasonxyzObj = $.parseJSON(xyz);
var xyzArray = [];
for (var i = 0; i < jasonxyzObj.length; i++) {
xyzArray.push(jasonxyzObj[i].id'');
}
$(".abc-class").typeahead({
source: xyz,
template: ABC,
engine:Handlebars
});
ソースで xyz だけを指定すると、1 文字の提案が表示されます。しかし、ソースで jasonxyzObj を指定すると、6 行目の bootstrap.min.js で「TypeError: e.toLowerCase は関数ではありません」というエラーが発生します。私のブートストラップのバージョンは「2.3.1」です。
ブートストラップの先行入力を使用して、ハンドルバー ファイル (HBS) に提案を表示する正しい方法は何ですか。