我有一个包含这样的行的表:
<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>
我该如何解决这个问题?
感谢!!!
答案 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'));
});