meteor.js - 将元素的id传递给一个集合

时间:2015-11-26 01:02:10

标签: javascript jquery node.js meteor meteor-helper

我已经构建了一个包含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集合。我有什么想法可以传递这些值吗?

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

我认为你的控制器肯定有问题,因为如果你检查Meteorpad here,它就可以了。 如果你有许多相似的元素,你可能想要使用一个类而不是一个id。

答案 1 :(得分:-1)

有几种方法可以解决你的问题,但我认为是#34; The Meteor Way&#34;是为每个选择使用一个单独的模板(或只是使用#each循环),如果你这样做你的&#34;这个&#34;在事件代码中将包含您在范围中所需的值,因此您不必依赖于event.target。