2014-01-28 5 views
1

Im использованием Java Script в JSP проблема мне нужно автоматическое обновление на селектина флажком он работает нормально, но на отмене выбора это не останавливая авто обновления активности .plz предложить Спасибо заранееJavascript Checkbox выберите/отмените

function autorefresh() { 
    var isChecked = document.getElementById("is_check").checked; 
    var time = 0; 
    if (isChecked == true) { 
     time = setInterval(function() { 
      showExport() 
     }, 5000); 
    } else if (isChecked == false) { 
     clearInterval(time); 
    } 
} 
+2

Declare 'time' вне функции. Также обратите внимание, что вы можете уменьшить 'if (x == true) {...} else if (x == false) {...}' to 'if (x) {...} else {...} '. –

+0

@FelixKling - Почему? И, кстати, @NaimFS, 'setInterval (function() {showExport()}, 5000);' -> 'setInterval (showExport, 5000);' –

+0

Так, чтобы он сохранялся между вызовами функций. –

ответ

1

Определить переменное время, как глобальные:

window.time=0;  //global declaration 
function autorefresh() { 
    var isChecked = document.getElementById("is_check").checked; 
    if (isChecked == true) { 
     time = setInterval(function() { 
      showExport() 
     }, 5000); 
    } else if (isChecked == false) { 
     clearInterval(time); 
    } 
} 
1

Это потому, что вы определяете переменную time внутри контекста autorefresh, поэтому он больше не сохраняет идентификатор интервала, вы должны определить его вне функции.

+0

Большое спасибо Blacksheep это сработало .. :) –