17

如何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所以欢迎提出建议。

4

2 回答 2

21

您使用的符号仅对表单元素有效,并且当 event.target 是表单元素时。

event.target.age.value

event.target是事件发生的元素,event.currentTarget是附加了事件处理程序的元素

如果您替换divform并替换targetcurrentTarget然后它将起作用

event.currentTarget.age.value

这是一个使用你的代码的小提琴

于 2015-05-20T07:35:57.020 回答
1

如果事件绑定在容器 div 上,则应从目标搜索输入,因为event.target它会为您提供事件附加到的元素。

要访问 中的任何值,div您必须首先访问该元素,然后使用该元素的属性来访问所需的任何内容 -.value在这种情况下。

于 2015-05-20T07:38:07.637 回答