我使用以下代码在卡中列出AJAX数据。它运行良好,但是如果我使用setinterval
运行它与其他具有某些条件的函数,如果它变为true,则调用下面的函数来更新列出的数据。
它将所有新数据附加到现有列表数据并复制它。我知道这是因为我正在使用appendTo
函数,我试图用HTML替换它,但是没有用,它根本没有列出数据。
我希望在再次调用此函数时更新数据,而不是追加数据。我该怎么用呢?谢谢。
function orderlist() {
return $.getJSON( "/restaurant/order/list/100/1",
function( orderdata )
{
var items = [];
$.each( orderdata, function( key, val ) {
var $o_on = val.ordernumber;
var $o_odate = val.bizorderdate;
var $o_userid = val.userid;
var $o_tnumber = val.tablenumber;
var $o_a = "<div class='card' id="+$o_on+">"
+ "<div class='title'>"
+ "Order No." + $o_on + "</div>"
+ "Date & Time: " + $o_odate + " </br>"
+ "User: " + $o_userid + " </br>"
+ "Table No: " + $o_tnumber + " </br>"
+ "</div>";
items.push($o_a);
})
$( "<div/>",
{
"class": "row",
html: items.join( "" )
}).appendTo( "#list_of_orders" );
});
}
答案 0 :(得分:1)
使用empty()
清除列表,然后添加新内容。
$('#list_of_orders').empty().append($( "<div/>",
{
"class": "row",
"html": items.join( "" )
}