在我的应用程序中,我使用List.js进行排序。所有的“字符串”值都正常工作。但我在专栏中确实有“修改日期”。
当我点击“按日期修改”-排序时,这只是考虑日期值,文本是什么,例如:1/4/11。并进行相应的排序。由于这种方法,我得到了错误的排序顺序。
我该怎么做呢?它应该根据数字的实际值来排序,它的日期是多少?
这是我的代码:
new List('mfi-col2', {
valueNames: ['companyLegalName', 'phazeName', 'contactName', 'number', 'enrollId', 'accountType']
});可以发送"number"而不是$(".number").data-number吗?所以让它使用我从服务器上得到的时间戳?
或者有人能为这个插件提出一个替代方案吗?
发布于 2016-09-08 07:57:57
您也可以使用数据属性:
js
valueNames: ['date', { name: 'timestamp', attr: 'data-timestamp' }html
<td class="date timestamp" data-timestamp="1427713871">30/03/2015</td>现在,您可以通过时间戳进行排序,而无需第二个或隐藏字段。
发布于 2013-12-05 09:52:26
我知道这是个老问题,但这个答案可能会对新来的人有所帮助。
在显示的每个日期中,在中添加一个时间戳值,然后比较/排序时间戳值。
一种建议是将时间戳值作为第二个隐藏的span添加到显示日期的同一级别上。时间戳将用于排序。
这里是我使用的一个例子:
我的列表是一个表,在这里,<td>是主容器。然后,我在一个<span>中使用了两个<td>。
第一个名为c_start 的<span>是实际显示的日期(),我有能力以任何所需的格式(dd/mm/yy或display )显示它,因为它只是一个显示。
至于排序,使用第二个Span c_start_ts并将其隐藏起来。在c_start_ts 中,我将时间戳值作为整数,这是一个完美的排序。即使您以后想应用筛选,处理时间戳值也会更容易,因为它可以转换数字,然后进行比较。
<td class="xlarge-head ">
<span class="c_start">[[FORMATTED-DATE-HERE]]</span>
<span class="c_start_ts hide">[[PUT-TIMESTAMP-HERE]]</span>
</td>示例
<td class="xlarge-head ">
<span class="c_start">01/01/2015</span>
<span class="c_start_ts hide">1420070400</span>
</td>然后将c_start_ts传递给list.js进行排序,表中的TD将被排序。
直到最近才开始习惯list.js,我看到它有潜力,但没有多少文档或支持。希望我有所帮助:)
https://stackoverflow.com/questions/16987842
复制相似问题