如何将appendto替换为其他内容以更新数据

时间:2015-10-27 10:40:07

标签: javascript jquery

我使用以下代码在卡中列出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" );  
    });
}

1 个答案:

答案 0 :(得分:1)

使用empty()清除列表,然后添加新内容。

$('#list_of_orders').empty().append($( "<div/>", 
    {
       "class": "row",
       "html": items.join( "" )
    }