2015-05-24 23 views
-1

我有一個選擇和一些代碼,以便用戶可以選擇自動更新時間。JQuery定時器變量問題

這是Javascript代碼:

setInterval(function(){ 

     if ($('#autotimer').val('on')) { 

      var millisecondsettings = $('#autoupdateminutes').val(); 

      submitNewStatsSessionauto(); 
     } 

}, millisecondsettings); 

這裏是選擇:

<label for="autoupdateminutes" class="select">Auto Update Settings:</label> 
<select name="autoupdateminutes" id="autoupdateminutes"> 
    <option value="60000">1 Minute</option> 
    <option value="300000">5 Minutes</option> 
    <option value="3600000">1 Hour</option> 
</select> 

忽略。如果一部分爲工程確定。

這是其中proble是:

var millisecondsettings = $('#autoupdateminutes').val(); 

添加變量在毫秒去的問題?

+1

在調用內部函數之前'millisecondsettings'來自哪裏?而你的'如果'**不**工作。這段代碼似乎沒有任何意義。 –

+1

'忽略如果部分,因爲它工作正常.'好吧,不是我猜... –

+1

我認爲他的意思是說沒有錯誤從那裏來。 –

回答

4

var millisecondsettings超出範圍。你必須在函數之外聲明它才能工作。由於它是一個內部函數,變量只在那裏被知道。

1

聲明

var millisecondsettings = $('#autoupdateminutes').val(); 

意味着millisecondsettings是當地的工作。函數執行完成後不會保存值。如果您未使用var關鍵字,則變量將是window對象的屬性(在Web上下文中)。使對象和變量存儲在該對象中是一種很好的方法。像MyApp.millisecondsettings