Javascript 如何从网格数据表插件jquery中清除数据?

Javascript 如何从网格数据表插件jquery中清除数据?,javascript,jquery,plugins,datatable,Javascript,Jquery,Plugins,Datatable,我们使用datatable插件绑定数据并显示在网格中,如下所示。代码如下: productJs = { apiBaseUrl: "/api/Admin/GetProductsPurchasedOrInCart", dataTableID: "#products_Grid", ready: function () { alert('yyyy'); }, jqueryDatatableSetting: { "aaSorting": [], "aoColumns": [

我们使用datatable插件绑定数据并显示在网格中,如下所示。代码如下:

productJs = {
apiBaseUrl: "/api/Admin/GetProductsPurchasedOrInCart",
dataTableID: "#products_Grid",

ready: function () {
    alert('yyyy');
},
jqueryDatatableSetting: {
    "aaSorting": [],
    "aoColumns": [
     { "mDataProp": "ProductName" },
     { "mDataProp": "Quantity" },
     { "mDataProp": "unitPrice" }
    ]
},

jqueryDatatable: null,

bindJqueryControls: function (e) {

},
loadProducts: function (oderNo) {
    //alert(oderNo);
    var apiUrl = this.apiBaseUrl + '?IsPurchased=Y&OrderNo=' + oderNo;
    $.ajax({
        url: apiUrl,
        type: "GET",
        complete: function (resp) {

            if (resp.status == 200 || resp.status == 201) {
                $('#products_Grid > tbody').html('');
                productJs.bindDatatable(resp.responseJSON);
            } else if (resp.status == 404 || resp.status == 400) {

            }
        },
        error: function () {

        }
    });
}
, bindDatatable: function (records) {

    if ($("#products_Grid_wrapper").length == 0) {
        //it doesn't exist
        this.productdataTableID = $(this.dataTableID).dataTable(this.jqueryDatatableSetting);
    } else {
        var table = $(this.dataTableID).DataTable();
        table.clear().draw();
    }

    if (records.length)
        this.productdataTableID.fnAddData(records);
 }
}
让我解释一下发生了什么:我有一个网格绑定t\与上面的相同\,即orderJs。我们希望在用户单击订单网格中的详细信息按钮时显示订单详细信息。Order Grid在绑定产品数据时也使用datatable

现在我所做的是:我已经完成了产品网格中基于订单号的数据绑定,第一次工作正常。意思是当我点击“订单详情”时,它会打开带有正确产品的弹出窗口。现在我已经关闭了弹出窗口。现在单击任何其他订单详细信息按钮,现在当弹出窗口打开时,它将获取旧订单的产品+新订单的产品

我想在重新绑定之前清除产品网格


我尝试了一些方法,但没有成功,请各位专家检查一下我做错了什么。

大家好,我得到了答案。。哇

我刚刚更新了下面的方法,添加了“fnClearTable”函数

bindDatatable: function (records) {

    if ($("#products_Grid_wrapper").length == 0) {
        //it doesn't exist
        this.jqueryproductDatatable = $(this.dataTableID).dataTable(this.jqueryDatatableSetting);
    } else {
        this.jqueryproductDatatable.fnClearTable();
    }

    if (records.length) {

        this.jqueryproductDatatable.fnAddData(records);

    }
}
谢谢大家的支持……:)