如何在流星js中获得点击事件的价值?

Nar*_*shy 4 javascript meteor

如何在流星Js中获取click事件的值 例如我想要{{name}}这个值.这是我的代码在警告框中显示*undefined*.请验证并建议我.

client JS:
Template.client.events({
    'click .clientrow':function(e,t){

         console.log("You Select Client Row ");
         e.preventDefault();
         alert($(e.target).closest('tr').data('_id'));

    }
});
template:
<template name="client">
<tbody>
    {{#each clientList}}
    <tr class="clientrow">
       <td data-id="{{_id}}">{{cid}}</td>
       <td>{{mrno}}</td>
       <td>{{client}}</td>
       <td>{{formatDate rdate}}</td>
       <td>{{referredby}}</td>
       <td>{{clinecian}}</td>
       <td>{{serviece}}</td>
       <td>{{episode}}</td>
       <td>{{actions}}</td>
    </tr>
     {{/each}}              
  </tbody>
</template>
Run Code Online (Sandbox Code Playgroud)

ari*_*elf 9

有一种更简单,更清洁的方法.在事件处理程序内部this引用Handlebars模板上下文,它实际上是您的clientList对象.所以你可以这样做:

Template.client.events({
'click .clientrow':function(e,t){

     console.log("You Select Client Row " + this.client);
     alert(this.mrno + ' ' + this.client);

}
});
Run Code Online (Sandbox Code Playgroud)


Hub*_* OG 7

您可以轻松访问被单击的元素:

'click .something': function(e, t) {
  $(e.target);
}
Run Code Online (Sandbox Code Playgroud)

现在,如果您希望将数据存储在单击的行中,则可以使用dataHTML参数轻松访问它

{{#each items}}
  <tr data-name="{{name}}" data-id="{{_id}}">...</tr>
{{/each}}
Run Code Online (Sandbox Code Playgroud)

然后,从行中提取它:

'click .something': function(e, t) {
  alert($(e.target).closest('tr').data('name'));
}
Run Code Online (Sandbox Code Playgroud)