我已经构建了一个包含3个元素的页面,每个元素都是这样的:
<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,但控制台输出&#39; null&#39;对于所有这些。因此,在eventAdd方法中没有任何内容可以传递给集合。
我不相信问题在于EventsController,addEvent方法或Events集合。我有什么想法可以传递这些值吗?
感谢您的帮助!
答案 0 :(得分:1)
我认为你的控制器肯定有问题,因为如果你检查Meteorpad here,它就可以了。 如果你有许多相似的元素,你可能想要使用一个类而不是一个id。
答案 1 :(得分:-1)
有几种方法可以解决你的问题,但我认为是#34; The Meteor Way&#34;是为每个选择使用一个单独的模板(或只是使用#each循环),如果你这样做你的&#34;这个&#34;在事件代码中将包含您在范围中所需的值,因此您不必依赖于event.target。