点击javascript(meteorJs)时传递按钮ID

时间:2015-01-14 06:16:37

标签: javascript jquery meteor

我有以下bootstrap元素:

<template name = "myAwesomeTemplate">    
<input class="buy btn span4" id= "cat" value ="something" /> 
<input class="buy btn span4" id="dog" value = "something else" /> 
</template>

我正试图传递&#34; id&#34;属性(此示例中的cat或dog - 取决于我单击的按钮)到方法函数:

Template.myAwesomeTemplate.events({nt 
    'click .buy' : function  (event, template) {
      Meteor.call('buy', this, $(this).attr(id));
    }
});

我尝试了this.idtemplate.find('.buy') - 没有任何确切的言辞。任何人都知道如何做到这一点?

Meteor.methods({
     buy: function(thisref,idref) {
        console.log(idref);
});

单击第一个输入元素时,控制台应输出&#34; cat&#34;,并且在单击第二个输入元素时,它应该输出&#34; dog&#34;。

此外,this在这种情况下究竟返回了什么?它似乎返回了此特定模板可以访问的整个数据。

2 个答案:

答案 0 :(得分:1)

尝试使用$(event.currentTarget)获取当前点击的元素jquery引用,在此.buy

Template.myAwesomeTemplate.events({
    'click .buy' : function  (event, template) {
      Meteor.call('buy', this, $(event.currentTarget).attr("id"));
    }
});
事件处理程序中的

$(this)返回模板数据

答案 1 :(得分:1)

好的,我找到了答案.... 这很有效:

Template.myAwesomeTemplate.events({
    'click .buy' : function  (event, template) {
      Meteor.call('buy', this, event.target.id);
    }
});