我有以下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.id
和template.find('.buy')
- 没有任何确切的言辞。任何人都知道如何做到这一点?
Meteor.methods({
buy: function(thisref,idref) {
console.log(idref);
});
单击第一个输入元素时,控制台应输出&#34; cat&#34;,并且在单击第二个输入元素时,它应该输出&#34; dog&#34;。
此外,this
在这种情况下究竟返回了什么?它似乎返回了此特定模板可以访问的整个数据。
答案 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);
}
});