我有在 Tablesorter 的帮助下过滤的表格。每列顶部都有一个搜索框。在其中一列中,我有一个基于选择的 JavaScript 的选项列表。我希望能够根据选项列表中选择的内容过滤此列。我尝试使用在围绕所选项目的跨度标记上触发的 textExtraction 函数,但我无法让它工作。欢迎任何建议。
我在这个JSFiddle中有一个设置
<body>
<table class="tablesorter">
<thead>
<tr>
<th class="title" data-placeholder="">Title</th>
<th class="tags" data-placeholder="">Tags</th>
<th class="date" data-placeholder="">Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>Fish</td>
<td>
<select data-placeholder="Choose Tags" class="chosen-select" multiple>
<option value=""></option>
<option value="Option1">Sweden</option>
<option value="Option2">Norway</option>
<option value="Option3">Finland</option>
</select>
</td>
<td>2012-12-03</td>
</tr>
<tr>
<td>Boat</td>
<td>
<select data-placeholder="Choose Tags" class="chosen-select" multiple>
<option value=""></option>
<option value="Option1">Sweden</option>
<option value="Option2">Norway</option>
<option value="Option3">Finland</option>
</select>
</td>
<td>2012-12-15</td>
</tr>
</tbody>
</table>
$(document).ready(function () {
$("table").tablesorter({
theme: 'blue',
textExtraction: {
1: function (node, table, cellIndex) {
return $(node).find("span").text();
}
},
widthFixed: true,
widgets: ["zebra", "filter"],
widgetOptions: {
filter_childRows: false,
filter_columnFilters: true,
filter_cssFilter: 'tablesorter-filter',
filter_functions: null,
filter_hideFilters: false,
filter_ignoreCase: true,
filter_reset: 'button.reset',
filter_searchDelay: 300,
filter_startsWith: false,
filter_useParsedData: false
}
});
});