我正在使用水平可滾動引導程序數據表並創建了一個自定義過濾器。如何使用水平滾動引導數據表的自定義過濾器?
當我選擇我的選擇框的特定值時,我想僅顯示具有該特定類的列。這是一切運作良好,我唯一的問題是:
選定的列不適合視覺上我的窗口,這意味着,他們有我的表與所有列相同的寬度,即使結果是隻有一個柱。他們還種偏移。我在這裏創造一個例子:
$('.data-table').DataTable({
"scrollX": true,
initComplete: function() {
$('<div style="float:right;min-width:200px"><div style="float:right;"><select name="productgroup" class="productgroup form-control select2" style="width: 100%;"><option value="all">All</option><option value="name">Name</option><option value="position">Position</option><option value="office">Office</option><option value="age">Age</option><option value="startdate">Startdate</option><option value="salary">Salary</option></select></div><div style="float:right;margin:4px 10px 10px">Filter</div></div>').appendTo($("#DataTables_Table_0_filter"));
$("select").on("change", function() {
var product = $(this).val();
$(".all").hide();
$("." + product).show();
});
}
});
div.dataTables_wrapper {
width: 100%;
margin: 0 auto;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://almsaeedstudio.com/themes/AdminLTE/plugins/datatables/dataTables.bootstrap.css">
<script src="https://almsaeedstudio.com/themes/AdminLTE/plugins/jQuery/jquery-2.2.3.min.js"></script>
<script src="https://cdn.datatables.net/1.10.13/js/jquery.dataTables.min.js"></script>
<script src="https://almsaeedstudio.com/themes/AdminLTE/plugins/datatables/dataTables.bootstrap.min.js"></script>
<table class="data-table table table-bordered table-striped">
<thead>
<tr>
<th class="all name">Name</th>
<th class="all position">Position 1</th>
<th class="all position">Position 2</th>
<th class="all">Age</th>
<th class="all">Start date</th>
<th class="all">Salary</th>
<th class="all">Name</th>
<th class="all">Something</th>
<th class="all">Something</th>
<th class="all">Age</th>
<th class="all">Start date</th>
<th class="all">Salary</th>
<th class="all">Name</th>
<th class="all">Something</th>
<th class="all">Something</th>
<th class="all">Age</th>
<th class="all">Start date</th>
<th class="all">Salary</th>
<th class="all">Something</th>
<th class="all">Something</th>
<th class="all">Something else</th>
<th class="all">Age</th>
<th class="all">Start date</th>
<th class="all">Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td class="all name">Tiger Nixon</td>
<td class="all position">System Architect</td>
<td class="all position">Edinburgh</td>
<td class="all">61</td>
<td class="all">2011/04/25</td>
<td class="all">$320,800</td>
<td class="all">Tiger Nixon</td>
<td class="all">System Architect</td>
<td class="all">Edinburgh</td>
<td class="all">61</td>
<td class="all">2011/04/25</td>
<td class="all">$320,800</td>
<td class="all">Tiger Nixon</td>
<td class="all">System Architect</td>
<td class="all">Edinburgh</td>
<td class="all">61</td>
<td class="all">2011/04/25</td>
<td class="all">$320,800</td>
<td class="all">Tiger Nixon</td>
<td class="all">System Architect</td>
<td class="all">Edinburgh</td>
<td class="all">61</td>
<td class="all">2011/04/25</td>
<td class="all">$320,800</td>
</tr>
<tr>
<td class="all name">Garrett Winters</td>
<td class="all position">Accountant</td>
<td class="all position">Tokyo</td>
<td class="all">63</td>
<td class="all">2011/07/25</td>
<td class="all">$170,750</td>
<td class="all">Tiger Nixon</td>
<td class="all">System Architect</td>
<td class="all">Edinburgh</td>
<td class="all">61</td>
<td class="all">2011/04/25</td>
<td class="all">$320,800</td>
<td class="all">Tiger Nixon</td>
<td class="all">System Architect</td>
<td class="all">Edinburgh</td>
<td class="all">61</td>
<td class="all">2011/04/25</td>
<td class="all">$320,800</td>
<td class="all">Tiger Nixon</td>
<td class="all">System Architect</td>
<td class="all">Edinburgh</td>
<td class="all">61</td>
<td class="all">2011/04/25</td>
<td class="all">$320,800</td>
</tr>
<tr>
<td class="all name">Ashton Cox</td>
<td class="all position">Junior Technical Author</td>
<td class="all position">San Francisco</td>
<td class="all">66</td>
<td class="all">2009/01/12</td>
<td class="all">$86,000</td>
<td class="all">Tiger Nixon</td>
<td class="all">System Architect</td>
<td class="all">Edinburgh</td>
<td class="all">61</td>
<td class="all">2011/04/25</td>
<td class="all">$320,800</td>
<td class="all">Tiger Nixon</td>
<td class="all">System Architect</td>
<td class="all">Edinburgh</td>
<td class="all">61</td>
<td class="all">2011/04/25</td>
<td class="all">$320,800</td>
<td class="all">Tiger Nixon</td>
<td class="all">System Architect</td>
<td class="all">Edinburgh</td>
<td class="all">Edinburgh</td>
<td class="all">Edinburgh</td>
<td class="all">61</td>
</tr>
</tbody>
</table>
謝謝!很有幫助! – Jarla
@Jarla很高興幫助..也有你當前的代碼中的錯誤,你可以看到它,如果你改變表的顯示長度..用這個答案中建議的方法,你應該能夠修復它.. –
在處理您的代碼時,會出現一個小錯誤/問題。到目前爲止,一切運作良好。但是,如果我添加一個語言參數「語言」:{「url」:「//cdn.datatables。net/plug-ins/9dcbecd42ad/i18n/German.json「,},'to var var yourTableObj'我的過濾器已經消失了,你知道爲什麼會發生這種情況嗎?我只是問,因爲這與我的代碼一起工作。 – Jarla