我有一個會話這個助手和事件地圖。該事件正在偵聽按鈕單擊,然後從輸入字段中抓取輸入文本。然後它設置會話。助手獲取會話並在CampYear(收集字段之一)的集合上執行find()。多個文本輸入的多個事件地圖和助手
Session.setDefault('keyCampYear', '');
Template.camp.helpers({
'Query': function() {
var cy = Session.get('keyCampYear');
return Programs.find({CampYear: cy}).fetch();
}
});
Template.query.events({
'click #camp-year-button': function(event) {
var campYearTemp = document.getElementById('camp-year').value;
Session.set('keyCampYear', campYearTemp);
}
});
輸出設置與spacebars {{#each}}來呈現一個表:
<tbody>
{{#each Query}}
<tr>
<td>{{Fname}}</td>
<td>{{Lname}}</td>
<td>{{CampYear}}</td>
</tr>
{{/each}}
</tbody>
這按預期工作。我現在需要添加另一個文本字段和按鈕來查詢數據庫中的不同字段,並輸出到相同的空格鍵{{#each}}。但我無法讓它工作。添加另一個事件映射,Session和helper似乎不起作用。有沒有一種方法可以讓我的另一個輸入字段使用其按鈕來搜索集合中的不同字段並在相同的空格鍵上輸出{{#each}}?
非工作下面的代碼:
添加文本框和按鈕:
<input type="text" id="donate">
<button id="donate-button">GO</button>
添加新的事件映射,助手和會話:
Session.setDefault('keyDonate', '');
Template.camp.helpers({
'Query': function() {
var don = Session.get('keyDonate');
return Programs.find({DONATE: don}).fetch();
}
});
Template.query.events({
'click #donate-button': function() {
var donateTemp = parseInt(document.getElementById('donate').value, 10);
Session.set('keyDonate', donateTemp);
}
});
什麼最終發生的是,默認情況下整個Mongo集合在瀏覽器中加載,而用戶不必單擊任一按鈕。第一個按鈕和文本框不可操作,新創建的按鈕和文本框工作,但非常緩慢。
您需要顯示非工作代碼。 –