【发布时间】:2018-05-07 07:20:20
【问题描述】:
我有一个有几行的表
我想删除所有包含“拉巴特”作为城市的行,但什么也没发生。但是,当我更改第一行的值时,它起作用了。 那么为什么它只适用于第一行呢?
这是我的代码:
$("#btnSave").click(function() {
var table = $("#mainTable").DataTable({});
var nodes = [];
table.rows().every(function(rowIdx, tableLoop, rowLoop) {
if (this.data()[3] == 'Rabat')
nodes.push(this.node())
})
nodes.forEach(function(node) {
table.row(node).remove().draw()
})
});
HTML 代码:
<table id="mainTable" class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Country</th>
<th>City</th>
</tr>
</thead>
@foreach (var item in Model)
{
<tbody>
<tr>
<td>@item.id</td>
<td>@item.name</td>
<td>@item.country</td>
<td>@item.city</td>
</tr>
</tbody>
}
</table>
【问题讨论】:
-
this.data()[3]将成为问题。 -
但为什么它适用于第一行?
-
调试代码时发现第一行正常,但其他行未定义
-
你在第一行使用什么?你能写出哪一个工作的代码吗?
-
我有一个从数据库中获取数据的 foreach 循环。我将编辑帖子为 ASP.NET 添加另一个标签
标签: jquery asp.net asp.net-mvc asp.net-mvc-4 datatables