meteor.js – 将点击元素的ID传递给一个集合

我用3个元素构build了一个页面,每个元素都是这样的:

<div class="col-md-4 event-type"> <a href="{{ pathFor 'step2' }}" id="eventchoice" name="eventchoice" value="corporate"> </a> </div> 

我试图通过使用以下代码将<a>元素的值或名称或ID传递给集合:

 EventsController.events({ 'click #eventchoice' : function(event) { console.log(event.target.getAttribute("id")); console.log(event.target.getAttribute("name")); console.log(event.target.getAttribute("value")); var eventchoice = event.target.value; var params = { eventchoice: eventchoice } //Insert Event Meteor.call('addEvent', params); FlashMessages.sendSuccess('Event Added'); } }); 

我添加了console.log来查看是否可以获得<a>元素的id / name / value,但是控制台输出了所有这些的“null”。 因此,eventAdd方法中没有任何内容传递给集合。

我不相信问题是与EventsController,addEvent方法或Events集合。 任何想法如何我可以通过这些价值观?

感谢您的帮助!

那么我认为你的控制器一定有什么问题,因为如果你在这里检查Meteorpad ,它就可以正常工作。 尽pipe如果您有许多类似的元素,您可能想使用类而不是id。

有几种方法可以解决你的问题,但是我认为“meteor的方式”是为每个select使用一个单独的模板(或者只是使用#each循环),如果你这样做,你的事件代码中的“this”在你的范围内包含你需要的值,所以你不必依赖于event.target。