Meteor这个事件未定义

时间:2016-04-15 23:57:38

标签: javascript jquery meteor

我使用以下套餐:

https://github.com/aldeed/meteor-plans-stripe

HTML:

<button id="upgrade" type="button" data-plan="monthly">Upgrade</button>

<button id="upgrade" type="button" data-plan="yearly">Upgrade</button>

控制器:

Template.billingOverview.events({
  "click #upgrade": function(){
      var plan = $(this).data('plan');
      AppPlans.set(plan);
    });
  }
});

我想从数据计划中获取数据&#39;从用户单击的每个按钮,并在AppPlans中设置参数。问题是$(这个)保持返回undefined但是如果我将$(this)设置为$(&#39; #upgrade&#39;)则工作正常但我只从第一个#upgrade元素中获取数据。

如何从用户点击的特定按钮中获取数据计划?

1 个答案:

答案 0 :(得分:1)

您可以尝试以下操作:

HTML

<button class="upgrade" type="button" data-plan="monthly">Upgrade</button>

<button class="upgrade" type="button" data-plan="yearly">Upgrade</button>

JS

Template.billingOverview.events({
  "click .upgrade": function(event, template){
    var plan = event.target.dataset.plan;
    AppPlans.set(plan);
  }
});

它有效,我已经检查过了;)