で生成されたオプション タグのデータ コンテキストを取得する方法はあります{{#each}}
か? 現在、繰り返し処理しているデータの種類に応じて、2 つの回避策を使用しています。
ケース 1 - オプション カーソル
<template name="select">
<select>
{{#each options}}
<option value="{{_id}}">{{label}}</option>
{{/each}}
</select>
</template>
Options = new Meteor.Collection('options');
Template.select.events({
'change select': function (e, t) {
var option_doc = Options.findOne($(e.target).val());
}
});
ケース 2 - オプション配列
<template name="select">
<select>
{{#each options}}
<option>{{label}}</option>
{{/each}}
</select>
</template>
var options = [{label: "foo"}, {label: "bar"}];
Template.select.events({
'change select': function (e, t) {
var option_doc = options[e.target.selectedIndex];
}
});
これがテキスト入力を使用している場合は、イベント ハンドラー内にthis
なります。option_doc
ただし、変更イベントはオプションではなく選択でトリガーさthis
れるため、テンプレートのデータ コンテキストを参照します。