我有一個DataTable和我set a cells value through its object。如何設置fiter和訂單數據到DataTables單元
我不想通過jQuery的,因爲other problems found here
我怎樣才能設置該單元格的過濾和排序不同的值喜歡的話可以在加載orthogonal data實現直接設置單元格的值,或當你使用HTML5 data-... attributes
這裏是爲了更好地理解該問題的代碼片段 - 點擊通過速度進行排序後運行它
$(document).ready(function() {
var dt = $('#example').DataTable({});
//this is not enough as the change doesn't reflect on sorting and filtering
dt.cell($("#obj2_speed")).data(9 + 'km/h') ;
//this doesn't work like I would like to
/*dt.cell($("#obj1_speed")).data({
"_": 7 + 'km/h',
"sort": 7,
"filter": 'seven'
});*/
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.15/js/jquery.dataTables.min.js"></script>
<link href="https://cdn.datatables.net/1.10.15/css/jquery.dataTables.min.css" rel="stylesheet"/>
<table id="example" class="display" width="100%" cellspacing="0">
<thead>
<tr>
<th>Object</th>
<th>Speed</th>
</tr>
</thead>
<tbody>
<tr>
<td>object 1</td>
<td id="obj1_speed" data-sort="80" data-filter="eighty">80km/h</td>
</tr>
<tr>
<td>object 2</td>
<td id="obj2_speed" data-sort="8" data-filter="eight">8km/h</td>
</tr>
<tr>
<td>object 3</td>
<td id="obj3_speed" data-sort="90" data-filter="ninety">90km/h</th>
</tr>
</tbody>
</table>
我用例以上聽起來是這樣的:
我最初從數據庫中加載的數據表,但後來我不得不做這需要更新DataTable的不同部分重複Ajax請求,而那些更新需要反映在它內部。
說我保持我的瀏覽器打開我的頁面,顯示我的DataTable按速度排序。 5秒後,ajax請求/響應進入並更新單元的速度。我希望更新後的行可以向上或向下移動,因爲我正在按照速度排序。我已經實現了這個目標,但是由於「8km/h」是一個字符串並且在「80km/h」和「90km/h」下無法正確排序,所以給出了一些小缺點。
@davidkonrad是的,感謝您的注意 - 將立即編輯 – Bogdan