循环更新类而不是id字段

时间:2015-05-31 23:15:42

标签: javascript jquery ajax

我试图创建一个可以应用于页面中类的多个实例的函数,以通过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?

1 个答案:

答案 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);
}