淘汰JS和DataTables Ajax和PHP

淘汰JS和DataTables Ajax和PHP,php,jquery,ajax,knockout.js,datatables,Php,Jquery,Ajax,Knockout.js,Datatables,职能领导(数据){ this.id=data.id; this.name=ko.observable(data.name); this.number=ko.可观察(data.mobile); this.email=ko.observable(data.email); this.return\u date=ko.可观察(data.return\u date); this.advert=ko.可观察(data.advert); this.date_inquired=ko.可观察(data.date)

职能领导(数据){
this.id=data.id;
this.name=ko.observable(data.name);
this.number=ko.可观察(data.mobile);
this.email=ko.observable(data.email);
this.return\u date=ko.可观察(data.return\u date);
this.advert=ko.可观察(data.advert);
this.date_inquired=ko.可观察(data.date);
}
函数leadView(){
var self=这个;
self.leads=ko.observearray([]);
$.getJSON('ajax/leads.php',函数(数据){
var-mapped=$.map(数据、函数(信息){
返回新的潜在客户(信息);
});
自我引导(映射);
var dt=$(“#lead table”).DataTable({
多姆:“小费”,
订购:错,
b处理:对,
数据:self.leads(),
栏目:[
{data:'name()'},
{data:'number()'},
{data:'email()'},
{data:'return_date()'},
{data:'advert()'},
{data:'date_inquired()'}
]
});
});
self.update=函数(){
$.getJSON('leads.php',函数(数据){
var-mapped=$.map(数据、函数(信息){
返回新的潜在客户(信息);
});
自我引导(映射);
});
}
}
var DataLeadView=新的leadView();
设置间隔(DataLeadView.update,5000);

ko.应用绑定(DataLeadView)
您只需使用
draw
重新绘制表格即可显示更新的更改

代码:

self.update = function () {

            var mapped = $.map(data, function (info) {
                return new Lead(info);
            });

            self.leads(mapped);
            dt.clear(); // clear table
            dt.rows.add(self.leads()); // build the source again by adding
            dt.draw() ; // draw table with added rows
        }

工作小提琴

你能帮我们做小提琴回购吗。cheers我不太清楚我是如何使用它的,但通常情况下,数据由getJSON检索,然后插入ObservalArray()它会更新计数器,但不会更新表如果有任何更改,如追加/删除等,则必须重新绘制表,即
dt.draw()
如果要清除
dt.clear().draw()
。干杯我在哪里把dt.clear().draw()放在更新函数中,您可以看到表被清除了。检查这里的提琴样品。干杯