prototype中Ajax.PeriodicalUpdater方法问题,高人指点

goffers 2008-09-10 11:45:22
是这样的,我想对一个表格的所有行的最后一个td( 就是这个区域:trs[i].getElementsByTagName('td').item(5).getElementsByTagName('div').item(0).getAttribute('id') )中的内容进行更新,但对于同一行的那个td来说,为什么我传到后台的参数(也就是这句:playerId='+trs[i].getElementsByTagName('td').item(1).innerText)为什么总是变化的,也就是说trs[i]的i总是变的,不知为什么,请高手指点。
===============================================
function refreshLight(){
var searchBody = document.getElementById('searchBody');
var tbodyer = searchBody.getElementsByTagName('tbody').item(2);
var trs = tbodyer.getElementsByTagName('tr');
alert(trs[0].getElementsByTagName('td').item(1).innerText);
for(var i = 0;i<trs.length;i++){
var myAjax = new Ajax.PeriodicalUpdater(
''+trs[i].getElementsByTagName('td').item(5).getElementsByTagName('div').item(0).getAttribute('id'),
'/DSN/refreshLight.do?nocache='+Math.random()+'&&method=refreshLight&&playerId='+trs[i].getElementsByTagName('td').item(1).innerText,
{
method: 'get',
evalScripts: true,
frequency: 10
}
);
}
return;
};
================================================
...全文
341 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
..................
goffers 2008-09-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 chinmo 的回复:]
引用 6 楼 goffers 的回复:
楼上的我怀疑是AJAX缓存问题,网上查了下,也用了几种方法,但每 次传到后台的那个"i"就是不一样


...缓存会使"i"累加?第一次听说,我只是怀疑你有使"i"累加的地方
[/Quote]
朋友是这样的,我在页面加载的时候进行检索,假如检索出5条记录,这5行的最后一个td的div内容进行了实时更新,但当我输入检索条件是,按检索按钮,这时假如检索出一条记录,而且这条记录是页面加载时检索出的记录中的一条,这时实时更新的话,trs.length应该是1,所以trs[i]的这个i就应该总为0,那么为什么传入后台就变了呢,变化的范正好是页面加载的i值的范(也就是0,1,2,3,4),所以每当手动按检索时都出现这种缓存前一次检索的情况.不知楼上的朋友理解没?
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 goffers 的回复:]
楼上的我怀疑是AJAX缓存问题,网上查了下,也用了几种方法,但每 次传到后台的那个"i"就是不一样
[/Quote]

...缓存会使"i"累加?第一次听说,我只是怀疑你有使"i"累加的地方
goffers 2008-09-11
  • 打赏
  • 举报
回复
楼上的我怀疑是AJAX缓存问题,网上查了下,也用了几种方法,但每 次传到后台的那个"i"就是不一样
goffers 2008-09-10
  • 打赏
  • 举报
回复
高手指点啊,还是我没说明白?上述方法就是实现的功能,
  • 打赏
  • 举报
回复
检查下是不是有累加I的地方!!
goffers 2008-09-10
  • 打赏
  • 举报
回复
楼上的朋友,是这样的,你可能理解错了,这个循环是为了让每一行的最后一个td里的div的内容实时更新,这个循环走完之后,各自行的最后td的内容就由Ajax.PeriodicalUpdater来更新了,相当于多个线程一样,但我的意思是我把i(当时已经确定了,例如2),那么在实时更新的时候,这个值却发生了变化(例如变成3了),我百思不得其解,望高手们教我
  • 打赏
  • 举报
回复
playerId='+trs[i].getElementsByTagName('td').item(1).innerText)为什么总是变化的,也就是说trs[i]的i总是变的,

你用循环的能不白吗?

你要想获取当前的行,那么就得有传一个固定值
yzxlyd 2008-09-10
  • 打赏
  • 举报
回复
发图来看看呀。

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧