【发布时间】:2020-06-24 12:41:36
【问题描述】:
我正在使用 DataTables 来显示“提供者”列表
我已启用列过滤模块,它会在列上方显示“选择”框。
如何将表格标题显示为选择的占位符?
这是我想要的结果
这是我的代码
<script>
$(document).ready(function() {
$('#Table').DataTable( {
"pagingType": "full_numbers",
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, 100, "All"]],
"lengthChange": false,
language: {
search: "",
searchPlaceholder: "Search Providers",
},
"ordering": false,
initComplete: function () {
this.api().columns().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 ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' )
} );
} );
}
} );
$('div.dataTables_filter input').addClass('form-control');
$('div.dataTables_filter input').placeholder = "Search Providers";
$( "select" ).addClass( "form-control" );
} );
</script>
<div class="kt-container kt-grid__item kt-grid__item--fluid">
<div class="row">
<div class="col-md-12">
<div class="kt-portlet">
<div class="kt-portlet__body">
<div class="kt-section">
<div class="kt-section__content">
<table class="table" id="Table">
<thead>
<tr>
<th>Provider</th>
<th>Type</th>
<th>Location</th>
<th>Phone</th>
</tr>
</thead>
<tbody>
{% for item in records %}
<tr>
<td>{{ item.title }}</td>
<td>{{ item.type }}</td>
<td>
{{ item.city }}
</td>
<td>{{ item.phone }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
【问题讨论】:
-
看看this question - 其中一个答案应该可以满足您的需求。
-
这些列是由DataTables动态生成的,所以我不能手动添加oen
标签: jquery datatable bootstrap-4 datatables