我使用jQuery DataTables 1.9.4來顯示數據。我在單元格中顯示了新的自定義類型,並且爲每種類型添加自定義排序功能將非常棘手且維護性很差,因爲顯示格式不容易與代表值關聯。例如,顯示格式可以是3 oranges, 4 apples
,然後排序的值將是7
。通過自定義sortId對dataTables列進行排序
我能想到的最佳解決方案是爲每個單元格提供一個sortId
屬性,這將是一個整數,並且列的單元格將通過此sortId
排序。
before
<td>3 oranges, 4 apples</td>
after
<td sortId="7">3 oranges, 4 apples</td>
我搜索在網絡上,它似乎並沒有成爲數據表功能。我怎麼能做到這一點?
請注意,sortId
不必一定是<td>
的屬性,只要不需要太多字符,任何其他隱藏的解決方案都可以。
data-sort屬性絕對是我一直在尋找的感謝!
我嘗試添加此屬性有點沒有運氣(均與data-sort
和data-order
)。
我需要調整桌子上的任何東西使其工作嗎?
我使用2012版數據表(v1.9.4)是否已在此版本中實現此功能?文件中的文本搜索jquery.dataTable.js顯示
data-order
和data-sort
字符串的零匹配。
正交數據也將是一個很好的解決方案 - > https://datatables.net/examples/ajax/orthogonal-data.html ...根據'type'返回不同值的列渲染器也可以工作。 – davidkonrad
@davidkonrad,'columns.render'不適用於這裏,雖然我在我的答案中提到它。你如何想象解析'3個桔子,4個蘋果'並用'columns.render'生成'7'? –
通過'/^\ d + /。match(s)'進行循環,並將找到的所有數字相加 - 最後以7結尾,或者在字符串內找到。 – davidkonrad