2015-05-25 39 views
1

我有一個表單,需要用戶名和聯繫方式,包括聯繫電話號碼和聯繫方式(個人,辦公室等),我有一個+按鈕,將顯示更多的聯繫人詳細信息對。流星:點擊事件添加新字段

因此,每次點擊+按鈕我希望用戶輸入更多的聯繫人號碼和類型對。

然後,當用戶點擊提交按鈕,我希望它被保存。

誰能幫助我如何做到這一點的流星

+0

問題:您是否想將數據保存爲已編輯的集合,如聯繫人{name:,attr:,numbers:[{type:,number:},...]}還是應該將其存儲在第二個鏈接集合中?你有架構嗎? –

+0

我想在Mongodb中保存更好的數組是否正確? – ImCoder

+0

這不取決於mongo - 只是想一想你的設計。如果你想在某些其他焦點上重新使用數據,將它們作爲一個單獨的集合可能是有用的,如果不需要的話,那麼作爲一個數組存儲是相當好的 –

回答

0

使用jQuery的爲追加動態輸入框體或 使用ID類中的任何股利

並使用表格你可以得到所有的價值

<form id="Dynamic"> 
    <div> 
     <input type="text" name="a"/> 
    </div> 
</form> 
<button href="#" id="AddInpElem">Add Another Input Box</button> 
<button href="#" id="s">submit</button> 

var MaxInputs = 5; 
var Dynamic = $('#Dynamic'); 
var i = $('#Dynamic div').size() + 1; 

$('#AddInpElem').click(function() { 
    if (i <= MaxInputs) { 
     $('<div><input type="text" name="a'+i+'" /><a href="#" class="RemInpElem">Remove</a></div>').appendTo(Dynamic); 
     i++; 
    } 
    return false; 
}); 

$('#s').click(function() { 
    var test = $('#Dynamic').serializeArray(); 
    console.log(test); 
}); 

$("body").on("click",".RemInpElem", function(){ 
     if (i > 2) { 
     $(this).parent('div').remove(); 
     i--; 
    } 
    return false; 
}) 

例子:http://jsfiddle.net/kevalbhatt18/L9wtubnj/2/

+0

.serializeArray();會給你所有的數據見上面的例子 –

+0

@Kevel謝謝你的回覆,但我正在尋找一些使用流星中的{{#each}} {{each}}的東西 – ImCoder

0

我建議使用AutoFormSimpleSchema,一旦你定義一個數組類這會爲你做到這一點。

MySchema = new SimpleSchema({ 
    myKey: { 
    type: [String] // this defines a string array 
    } 
});