【发布时间】:2022-01-24 07:01:19
【问题描述】:
我将下拉过滤器放入<thead></thead>。但它不能正常工作。我网站中的搜索过滤器运行良好,但下拉过滤器却不行。与here 中的示例相比,我什至检查了<option><select> 的html 代码。当我选择一个<option> 时,表格将其识别为不匹配的值,所有行都缺失。
这是表格和 html 检查器的屏幕截图:
这是我的<select>下拉html代码:
<option value=""></option>
<option value="SK Ambong">SK Ambong</option>
<option value="SK Dudar">SK Dudar</option>
<option value="SK Kitou">SK Kitou</option>
这是我的 JS 代码:
$('table').DataTable({
ordering: false,
initComplete: function () {
const nonSearchableColNo = [1, 6, 7, 8];
var api = this.api();
// For dropdown column
api.columns(2).every( function () {
var column = this;
var select = $('<select><option value=""></option></select>')
.appendTo( $(column.header()).empty() )
.on( 'change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search( val ? '^'+val+'$' : '', true, false )
.draw();
} );
column.data().unique().sort().each( function ( data, j ) {
optionVal = data.match(/SK [A-Z]\w+/g);
select.append( '<option value="'+optionVal+'">'+optionVal+'</option>' )
} );
} );
}
});
【问题讨论】:
标签: javascript jquery datatables