我试图创建一个可以应用于页面中类的多个实例的函数,以通过AJAX调用刷新数据。该功能只适用于页面上的一个实例:
$(document).ready(function() {
function getData(t, id, table, hid) {
var autoLoad = setInterval(function (){
$(t).load('ajax.php?id='+id+'&table='+table).html(hid);
} , 5000);
}
var elements = document.getElementsByClassName("refresh");
for (var i = 0, item; item = elements[i]; i++){
var tableId = $(item).attr('id');
var Rid = $(item).data('id');
var Rtable = $(item).data('table');
getData('.refresh', Rid, Rtable, tableId);
console.log(Rid + Rtable + tableId);
}
});
Rtable和Rid用于确定AJAX带有PHP脚本的数据。在一次迭代中,我在表上调用此脚本:
<tbody id="files" class="refresh" data-id="10" data-table="files-refresh">
<tr>
<td colspan="2"></td>
</tr>
</tbody>
在第二次迭代中,我在div上调用此脚本:
<div class="refresh" data-id="10" data-table="timeload" id="content"></div>
结果是文件刷新加载到两个.refresh类中,然后被timeload覆盖。如何修改它以便文件刷新转到#files表,timeload转到#content?
答案 0 :(得分:2)
getData('.refresh', Rid, Rtable, tableId);
应该是
getData(tableId, Rid, Rtable);
getData为
function getData(t, id, table) {
var autoLoad = setInterval(function (){
$('#' + t).load('ajax.php?id='+id+'&table='+table);
} , 5000);
}