gpt4 book ai didi

javascript - "Show All"不会重绘/刷新表格

转载 作者:行者123 更新时间:2023-12-04 07:21:38 26 4
gpt4 key购买 nike

我创建了一个带有静态表的 HTML 页面。我正在使用 DataTables jQuery 库来帮助更轻松地搜索表格。我创建了一个下拉菜单,以按“类别”列(第 2 列)过滤表格。过滤器适用于所有内容,除非我在通过选择另一个选项过滤表格后选择“全部”选项。我希望表格自行重绘,但似乎无法使其正常工作。这是我的代码(实际表的长度是原来的 3 倍,但我为这个问题缩短了它):
HTML:

<section id="autocad-table">
<div class="table-container">
<div class="category-filter">
<label for="Category">What Type Of Code Do You Need?</label>
<select class="dropdown" name="Category" id="categoryFilter">
<option value="0">All</option>
<option value="1">Category 1</option>
<option value="2">Category 2</option>
<option value="3">Category 3</option>
</select>
</div>
<table id="commandsTable" class="stripe hover">
<thead>
<th>Command</th>
<th>Description</th>
<th>Category</th>
</thead>
<tbody id="commandsTableBody">
<tr>
<td>0_FILLET</td>
<td>Create a 0" radius fillet</td>
<td>Category 1</td>
</tr>
<tr>
<td>ALLFLAT</td>
<td>Flatten all objects in all blocks & layouts</td>
<td>Category 2</td>
</tr>
<tr>
<td>ANNO_TO_SQUEEZE</td>
<td>Convert an annotation to the SQUEEZE text style</td>
<td>Category 2</td>
</tr>
<tr>
<td>ARR</td>
<td>Creates an array of a selected object at a specified angle</td>
<td>Category 2, Category 1</td>
</tr>
<tr>
<td>ATC</td>
<td>Changes an arc into a circle</td>
<td>Category 3</td>
</tr>
<tr>
<td>BA</td>
<td>Bend Allowance</td>
<td>Category 3</td>
</tr>
<tr>
<td>BB</td>
<td>BOM Ball</td>
<td>Category 3</td>
</tr>
</tbody>
</table>
</div>
</section>
Javascript:
$(document).ready( function () {
var oTable = $('#commandsTable').DataTable( {
"paging": false,
"ordering": false,
"info": false,
"searchHighlight": true,
});

$('#categoryFilter').change(function () {
var selectedValue = $(this).val();

if (selectedValue == '0') { //check if "All" is selected
oTable.search(selectedValue).draw();
} else {
oTable.column(2).search(selectedValue).draw();
}
})
});
同样,表格将使用文本搜索字段和下拉列表进行过滤。但是,一旦我从下拉列表中选择“全部”,表格就不会重置。我做错了什么?提前谢谢你的帮助。

最佳答案

一种方法是更改​​相关的<select>选项:

<option value="">All</option>
然后删除 if您不再需要的逻辑:
 $('#categoryFilter').change(function () {
var selectedValue = $(this).val();
oTable.column(2).search(selectedValue).draw();
})
因为选项的值现在是一个空字符串,这将取消过滤您的表。

关于javascript - "Show All"不会重绘/刷新表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68456453/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com