通过Array循环并添加到Meteor的集合中

时间:2015-12-21 17:36:32

标签: javascript jquery arrays meteor

我有一个动态表单,您可以在其中添加输入字段:

Template.decisionSetUp.events({
 'click #addInput':function() {
    event.preventDefault();
    $('.categoryContainer').append('<input type="text" name="categoryName"  class="form-control categoryTitle" placeholder="Kategorien">')
 }
});

现在我想获取输入字段的值并将它们推入集合内的数组中。 问题是我不知道如何正确填充数组?!我错过了什么???

Template.decisionSetUp.events({
    'click #start':function(event,t){
      event.preventDefault();
      $('.categoryTitle').each(function() { 
        var title = $(this).val();
        categoryTitle[] = title;
      }); 
Questions.insert({
    category: categoryTitle,
});

在此之后我将它发送到DOM。

Template.decision.helpers({
    category: function(){
      return this.category;
    }
  })

HTML

  <template name="decision">
        {{#each category}}
            {{this}}
        {{/each}}  
  </template>

如果你可以帮助我会很棒!

1 个答案:

答案 0 :(得分:0)

您没有将值添加到categoryTitles数组。

这可以解决您的问题:

Template.decisionSetUp.events({
    'click #start': function(event, t) {
        event.preventDefault();
        var categoryTitles = [];
        $('.categoryTitle').each(function(index) {
            var title = $(this).val();
            categoryTitles[index] = title;
        });
        Questions.insert({
            category: categoryTitles
        });
    }
});

这是MeteorPad

此外,我注意到您的#addInput事件处理程序缺少event参数。