稍后的新数据将替换 jQuery 中的当前数据
$(document).ready(function(){
setInterval(function(){
$.ajax({ url: "getLiveData.php",
success: function(result){
$.each(result, function(i, result){
var t = $("table#insideTable");
t.append('<tr><td>' + result.carNo + '</td><td>' +
result.carSpeed + '</td></tr>');
});
},
dataType: "json"
});
}, 600000);
});
你好,我试图使用上面的代码每 10 分钟更新一次车速。
--10:20AM的数据-----
+-------+-------+
|car |speed |
+-------+-------+
|1 |170 kph|
+-------+-------+
|2 |150 kph|
+-------+-------+
|3 |190 kph|
+-------+-------+
--10:30AM的数据-----
+-------+-------+
|car |speed |
+-------+-------+
|1 |180 kph|
+-------+-------+
|2 |155 kph|
+-------+-------+
|3 |174 kph|
+-------+-------+
但是,运行代码后,得到的结果是两个时间点都显示出来,一个接一个(见下文)。
+-------+-------+
|car |speed |
+-------+-------+
|1 |170 kph|
+-------+-------+
|2 |150 kph|
+-------+-------+
|3 |190 kph|
+-------+-------+
|1 |180 kph|
+-------+-------+
|2 |155 kph|
+-------+-------+
|3 |174 kph|
+-------+-------+
我真正想要的是用稍后的新数据来替换当前的数据。
+-------+-------+
|car |speed |
+-------+-------+
|1 |180 kph|
+-------+-------+
|2 |155 kph|
+-------+-------+
|3 |174 kph|
+-------+-------+
谁能帮助我吗?
非常感谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您想使用
.html()
函数代替.append()
:更改:
到:
这将替换表元素内的 HTML,而不是附加到它。以下是使用
.html()
与.append()
的演示: http://jsfiddle.net/jasper/TKaVF/这是
.html()
的文档:http://api.jquery.com/html顺便说一句,添加
table
并不会让你的选择器更快,因为你正在寻找-up一个ID(这本身就相当快)。会更快:
You want to use the
.html()
function in place of.append()
:Change:
To:
Which will replace the HTML inside the table element rather than append to it. Here is a demonstration of using
.html()
versus.append()
: http://jsfiddle.net/jasper/TKaVF/Here is the documentation for
.html()
: http://api.jquery.com/htmlOn a side-note, it doesn't make your selector any faster by adding
table
since you are looking-up an ID (which is quite fast on its own).Would be faster as:
工作示例: http://jsfiddle.net/manseuk/mnRTf/
将成功方法更改为:
其中
tablecontainerdiv
是包含表格的 div,例如:新代码将用新数据替换旧表格
Working example : http://jsfiddle.net/manseuk/mnRTf/
change to your success method to :
where
tablecontainerdiv
is a div that the table is contained in for example :The new code will replace the old table with the new data
在添加新行之前清空表:
Just empty the table before you add the new rows: