2017-03-31 162 views
0

我想輸出估計的時間基於我的數據庫(這是一個等待列表)中的項目(人)的數量。目前我在名爲countNumber.的快速格式中保存一個值,每次只設置爲1。然後,我通過查找countNumber = 1(全部)的所有項目來計算所有項目的數量。然後我嘗試使用getElementById()更新html。更新html流星?

我遇到的問題是,當我將一個人添加到數據庫時,估計的時間會適當增加。但是,當我刷新頁面的HTML重置爲0,就像輸入的最初的HTML。

我該如何解決這個問題,以便即使頁面刷新時html也會始終顯示適當的時間?

HTML代碼:

<head> 
    <title>Wait List</title> 
</head> 

<template name= "home"> 
    <body> 
     <h2 id="insert">Approximate Wait Time: 0 Minutes</h2> 
     <div class="col-lg-6 col-lg-offset-3"> 
      {{>quickForm id="studentForm" collection="Students" type="insert" template="bootstrap3-horizontal" label-class="col-sm-3" input-col-class="col-sm-9"}} 
     </div> 
    </body> 
</template> 

JS代碼:

AutoForm.hooks({ 
    studentForm: 
{ 
    onSuccess: function (insert,result) { 
     var totalCount = Students.find({countNumber:1}).count(); 
     var waitTime = "Approximate Wait Time: " + totalCount*15 +" Minutes"; 
     document.getElementById("insert").innerHTML = waitTime; 

     ... 

    }, 
} 
}); 

回答

1

你應該放到一個幫手,而不是掛鉤這一點。

Template.home.helpers({ 
    waitTime: function(){ 
     var totalCount = Students.find({countNumber:1}).count(); 
     var waitTime = totalCount*15; 
     return waitTime; 
    } 
}); 

並將html中的<h2>行更改爲此。

<h2 id="insert">Approximate Wait Time: {{waitTIme}} Minutes</h2>