Meteor TemplateHelpers と Handlebars を使用して、select
要素に要素を設定しようとしています。option
テンプレート
<template name="newTransaction">
...
<select name="productNameSelect">
{{{ getProductOptions }}}
</select>
...
</template>
ヘルパー
Template.newTransaction.getProductOptions = function () {
//Get all products for drop-down
var count = 0;
var optionsHTML = "";
var options = ProductCollection.find({});
options.forEach( function( product )
{
var newOption = "<option value='" + product.productID + "' >" + product.name + "</option>";
optionsHTML += newOption;
++count;
if( count == options.count() )
{
console.log("Products returned for client:" + optionsHTML )
return optionsHTML;
}
});
};
ブラウザーの JavaScript コンソールでは、正しいコンソール ログ テキストが出力されますが、選択リストのオプションが DOM に追加されません。
他の小さなヘルパー関数はすべて適切に機能しますが、はるかに単純で、それほど時間はかからない可能性があります。オプション要素を正しくレンダリングするにはどうすればよいですか?