each
でevents
入力値を使用するにはどうすればよいですか?私の以下のコードがあなたをうまく説明することを願っています。
HTML:
<template name="UpdateAge">
{{#each Name}}
<div data-action="showPrompt">
<div>
Some content
</div>
<div>
<div>
Some content
</div>
</div>
<div>
Name : {{name}}
Age : <input type="text" name="age" value="{{age}}"/> //I need to access age values in event
</div>
</div>
{{/each}}
<template>
JS:
Template.UpdateAge.events({
'click [data-action="showPrompt"]': function (event, template) {
console.log(event.target.age.value); // TypeError: event.target.age.value is undefined
}
});
私のアプローチがevents
にパラメーター値を渡すのに適しているかどうかわからないので、提案を歓迎します。
使用している表記法は、フォーム要素とevent.target ISフォーム要素の場合のみ有効です。
event.target.age.value
event.target はイベントが発生した要素、 event.currentTarget はイベントハンドラーをアタッチした要素です
div
をform
に置き換え、target
をcurrentTarget
に置き換えると、動作します
event.currentTarget.age.value
ここではフィドル コードを使用する
イベントがコンテナdivにバインドされている場合、入力はターゲットから検索する必要があります。なぜならevent.target
は、イベントが関連付けられた要素を提供します。
div
内の任意の値にアクセスするには、まずその要素にアクセスしてから、その要素のプロパティを使用して必要なものにアクセスする必要があります-.value
この場合。