定时器问题上的JQuery Variable

时间:2015-05-24 11:13:01

标签: javascript 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>

忽略If部分,因为它可以正常工作。

这是问题所在:

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

添加毫秒出现问题的变量?

2 个答案:

答案 0 :(得分:4)

var millisecondsettings超出了范围。您必须在函数外声明它才能工作。因为它是一个内部函数,变量只在那里知道。

答案 1 :(得分:1)

声明

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

表示millisecondsettings是本地功能。功能执行完成后,它不会保存值。如果您没有使用var关键字,那么变量将是window对象的属性(在Web上下文中)。这是让你在该对象中对象和存储变量的好方法。与MyApp.millisecondsettings

一样