【问题标题】:DataTable is not updating after editing html table编辑 html 表后 DataTable 未更新
【发布时间】:2017-06-21 14:06:40
【问题描述】:

使用普通 javascript 编辑表行值后,我的数据表未更新。表值在视图中发生变化。但是当我尝试获取数据表数据时,它正在获取旧值..

这是我的桌子:

 <table id="Status" style="width:100%" class="table table-bordered">
                                    <thead style="background-color:#E0EEEE">
                                        <tr>
                                            <th style="width:10px" class=""></th>
                                            <th>Status</th>
                                            <th class="hidden">Seq No</th>
                                            <th class="hidden">Created by</th>
                                            <th class="hidden">Created date</th>
                                            <th class="hidden">Updated by</th>
                                            <th class="hidden">Updated date</th>
                                            <th class="hidden">RowVersion</th>
                                            <th style="width:40px">Edit</th>
                                        </tr>
                                    </thead>
                                    <tbody>

                                    </tbody>
                                </table>

我正在使用这个初始化数据表:

var StatusDataTable = $('#Status').DataTable({
            "fixedHeader": true,
            "lengthMenu": [[5, 10, 25, -1], [5, 10, 25, "All"]],
            "bSort": false,
            "scrollX": true,
            "oLanguage": {

                "sInfoEmpty": '',
                "sEmptyTable": "No Data Available",
            }

        });

正在使用此代码编辑表格内容:

td[1].innerHTML = model.Name; td[2].innerHTML = model.SequenceNumber;
                            td[5].innerHTML = json.result.UpdatedBy; td[6].innerHTML = json.result.UpdatedDate; td[7].innerHTML = json.result.RowVersion;
                            tr.context.id = json.result.TaskStatusId;

但是当我试图获取数据表数据时,只获取旧值。

var data1 = StatusDataTable.row(index).data();
var data2 = StatusDataTable.row(index + order).data();

我已经编辑了data1的对应列。但仍然在 data1 中获得旧值。

【问题讨论】:

  • 更新后尝试拨打draw()..
  • F12,控制台出现什么错误?
  • 我也尝试过 draw .. 但它仍然无法正常工作..
  • 控制台没有错误

标签: javascript jquery html datatables


【解决方案1】:

您不应该使用数据表 API 更新数据表吗?像

table.rows().every(function(rowIdx, tableLoop, rowLoop) {
    var self = this;
    var d = this.data();
   d[2] = model.SequenceNumber
   d[5] = json.result.UpdatedBy
        self.data(d);
        self.invalidate();
    });
  table.draw();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-08
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    相关资源
    最近更新 更多