我是jQuery的新手!
我有一个表,每隔x秒使用ajax \ jQuery从服务器加载数据,以JSON格式接收数据,我的问题是我想只更新特定单元格,如果值更改或新...我怎么办?将旧数据与新数据进行比较,因为新数据采用JSON格式,旧数据存在于表格中.....
这是我的代码:
window.setInterval(function() {
// this code will execute on every 5s
// so we could send an AJAX request to verify if we
// have new data. Example with jQuery:
$.getJSON('/foo', { }, function(result) {
});
}, 5000);
答案 0 :(得分:2)
使用.data
window.setInterval(function() {
$.getJSON('/foo', { }, function(result) {
//Get the old data stored in the body using jquery data
var old_data = $('body').data('my_data');
//If objects are not the same, update cell
if ( ! equal_objects(result, old_data) )
update_cell();
//Store the new data
$('body').data('my_data',result);
});
}, 5000);
OBS:equal_objects是您应该实现的比较2个对象的函数,因为JavaScript不提供此功能。有关详细信息,请参阅此帖子:Object comparison in JavaScript
答案 1 :(得分:0)
为您的td标记添加唯一ID
<td id="tdname">200</td>
if(document.forms[0].getElementsByTagId("tdname").innerText != data[0].value){
document.forms[0].getElementsByTagId("tdname").innerText == data[0].value;
}
类似的东西,现在只需遍历所有数据并逐个更新。