我正在使用jQuery Datatable,并使用其列搜索功能。
我已成功添加了它在标题中,但它是在 thead
标题之后,我需要它在 thead
标题之前,通过使用表格 eq(0)
,我能够将其放置在标题之前,但排序也会跟随它。
$('#myApprovalTable thead tr').clone(true).appendTo('#myApprovalTable thead');
$('#myApprovalTable thead tr:eq(1) th').each(function(i) {
var title = $(this).text();
//$(this).html('<input type="text" placeholder="Search" />');
if (title == 'Actions') {
$(this).hide();
}
$(this).html('<input type="text" placeholder="' + title + '" />');
$('input', this).on('keyup change', function() {
if (myApproval.column(i).search() !== this.value) {
myApproval
.column(i)
.search(this.value)
.draw();
}
});
});
var myApproval = $('#myApprovalTable').DataTable({
orderCellsTop: true,
dom: 'Bfrtip',
buttons: [{
text: 'Reset Filter',
action: function(e, dt, node, config) {
$('#myApprovalTable input').val('').change();
}
}],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.19/js/jquery.dataTables.min.js"></script>
<table id="myApprovalTable" class="display table-responsive" style="width:100%">
<thead>
<tr>
<th>title1</th>
<th>title2</th>
<th>title3</th>
<th>title4</th>
<th>title5</th>
<th>title6</th>
<th>title7</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>2</td>
<td>2</td>
<td>2</td>
<td>2</td>
<td>2</td>
<td>2</td>
</tr>
</tbody>
</table>