【发布时间】:2013-10-11 06:53:56
【问题描述】:
我编写了一个 JavaScript 代码,每 10 秒向用户显示一次更新 yii GridView 表,效果很好。
timedRefresh($page_refresh_time);
function timedRefresh(timeoutPeriod) {
setTimeout(function(){refreshGrid()}, timeoutPeriod);
}
function refreshGrid() {
$.fn.yiiGridView.update(\"group-grid\");
timedRefresh($page_refresh_time);
}
但是现在我想更改我的代码,以便仅在显示选项卡并且不刷新时间表的其余部分时刷新表格。所以我将代码更改为:
timedRefresh($page_refresh_time);
function timedRefresh(timeoutPeriod) {
setTimeout(function(){refreshGrid()}, timeoutPeriod);
}
function refreshGrid() {
$('a[href=\"#dash2\"]').on('shown', function(e) {
$.fn.yiiGridView.update(\"group-grid\");
timedRefresh($page_refresh_time);
});
}
其中dash2 是选项卡的ID。现在的问题是,在更新我的代码后,每 10 秒刷新一次表已经达到顶峰。谁能指导我在上面的 JavaScript 代码中哪里出错了?
我还希望表格在标签关闭后停止刷新。我怎样才能做到这一点?
【问题讨论】:
标签: javascript jquery gridview yii tabs