jQuery AJAX自动刷新值

时间:2016-03-09 09:22:43

标签: javascript php jquery ajax

我有一个包含这样的行的表:

<tr>
  <td>
    <div class='tempo' id='<?php print $id;?>'></div>
  </td>
</tr>

我也有这个jQuery函数:

var auto_refresh = setInterval(

function ()
{
   $('.tempo').load('orari_pause/tempo_online.php?id=' + $(this).attr('id'));
}, 1000);

Ajax 调用失败,id元素1 tempo_online.php 页面的$_REQUEST方法返回“undefined”。< / p>

我该如何解决这个问题?

感谢!!!

2 个答案:

答案 0 :(得分:0)

如评论中所述,$(this).attr('id')未定义。

如果您有多行,并且想要使用正确的值更新每一行,则需要循环遍历行。

这样的事情:

$('.tempo').each(function(index) {
    // Here $(this) refers to 1 specific row / element
    $(this).load('orari_pause/tempo_online.php?id=' + $(this).attr('id'));
});

但请注意,使用间隔(与前一个完成时设置的超时相反...),将导致同一元素上的大量同时且可能重叠的ajax请求。

答案 1 :(得分:0)

尝试将属性名称更改为data-id

<tr>
  <td>
    <div class='tempo' data-id='<?php print $id;?>'></div>
  </td>
</tr>

$('.tempo').each(function(index,v) {
    $(v).load('orari_pause/tempo_online.php?id=' + $(v).attr('data-id'));
});