2015-12-21 3 views
1

У меня динамический вид, где вы можете добавить поля ввода:Перебор массива и добавить в коллекцию с Метеор

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> 

Было бы замечательно, если бы вы могли бы мне помочь!

+0

Что происходит сейчас, когда не работает? – hdost

ответ

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.

+1

Большое спасибо! Спас мой день :) – decisionMaker

Смежные вопросы