javascript - 数据表在页面加载和刷新时简要显示已删除的行
问题描述
我正在使用 deletedatarow 函数来删除特定的行。它工作正常,除了删除的行在页面初始化和页面刷新时短暂显示。
我试过 deferRender、.clear、.destroy。我成功地删除了包含“西伯利亚哈士奇评估”和“雪貂发育”的行,但它们最初显示了一秒钟。
<script>
$("#datatable").clear();
</script>
<script>
setTimeout(function () { $("#datatable").show() }, 50);
</script>
<script>
$(function() {
$("#datatable").dataTable( {
"deferRender": true,
"order": [ ],
"pageLength": 600,
"lengthMenu": [[-1, 10, 25, 50, 100], ["All", 10, 25, 50, 100]]
.clear(),
.draw();
});
})
</script>
<script>
function deletedatarow(){
var a = "Siberian Husky Assessment";
var b = "Ferret Development";
$( "tr:contains('" + a + "')").remove();
$( "tr:contains('" + b + "')").remove();
}
deletedatarow();
</script>
<table id="datatable">
<thead>
<tr>
<th>Status Number</th>
<th>Breed</th>
</tr>
</thead>
<tbody>
<tr>
<td><span>201919-0133</span></td>
<td>Siberian Husky Assessment</td>
</tr>
<tr>
<td>201919-0132</td>
<td>Siberian Husky Assessment</td>
</tr>
<tr>
<td>201919-0131</td>
<td>Siberian Husky Assessment</td>
</tr>
<tr>
<td>201919-0121</td>
<td>Siberian Husky Assessment</td>
</tr>
<tr>
<td>201919-0120</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0347</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0346</td>
<td>Ferret Development</td>
</tr>
<tr>
<td>201918-0320</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0313</td>
<td>Ferret Development</td>
</tr>
<tr>
<td>201918-0311</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0310</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0308</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0297</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0296</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0292</td>
<td>Ferret Development</td>
</tr>
<tr>
<td>201918-0290</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0289</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0288</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0287</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0286</td>
<td>Ferret Development</td>
</tr>
<tr>
<td>201918-0275</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0223</td>
<td>Ferret Development</td>
</tr>
<tr>
<td>201918-0218</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0217</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0216</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0206</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0205</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0178</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0177</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0175</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0173</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0172</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0167</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0160</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0159</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0158</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0157</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0153</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0127</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0126</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0121</td>
<td>Cockapoo Submitter</td>
</tr>
<tr>
<td>201918-0114</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0067</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0065</td>
<td>Pug Characterization</td>
</tr>
<tr>
<td>201918-0064</td>
<td>Siberian Husky Assessment</td>
</tr>
<tr>
<td>201918-0036</td>
<td>Pug Characterization</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Status Number</th>
<th>Breed</th>
</tr>
</tfoot>
</table>
解决方案
我相信您的答案在于代码中的操作顺序。正在渲染 html,然后调用 dataTable 函数(我认为您不需要调用 .clear().draw() 方法)。调用 DataTable 函数后,您将调用deletedatrow()
. 对我来说,您看到这些记录的时间很短。
绕过该过程的一种方法是在渲染数据之前过滤掉数据。或者,如果您无法做到这一点,您可以使用此处createdRow
所示的回调函数并检查它是否与任何文本匹配。如果是,请删除该行。请注意,该函数将在数据表中的每一行上运行,这可能是一个瓶颈,具体取决于您的结果集的大小。
推荐阅读
- scala - Scala spark数据框配置单元转换
- django - 在模型管理员中访问父模型实例以提供自定义查询集
- javascript - 运行javascript和更改css的按钮不起作用
- javascript - 通过 Azure 部署 Javascript Microsoft Botframework 模板后,提供的 URL 返回错误
- c# - 如何检测切换的桌面?
- php - 您如何链接到帖子作者的个人资料页面?
- excel - VBA如果给出错误的“真”响应
- c# - 为什么我的 GUISkin Button onActive 不起作用?
- php - 当自定义查找器的限制更改时,CakePHP 3 给出错误的分页输出
- json - 如何使用 deluge 在 post 请求中发送“JSON”?