Bootstrap 表:按日期字段排序

net*_*dev 6 html javascript php jquery bootstrap-table

我正在使用这个Bootstrap 表插件。但是按日期排序不能正常工作。

这是代码:

<table class=" table-striped" id="table" data-toggle="table"
    data-search="true"
    data-filter-control="true"
    data-click-to-select="true"
    data-escape="false">

    <thead>
        <tr>
            <th data-field="expiry_date" data-sortable="true" scope="col"><?= 'expiry date' ?></th>
        </tr>
    </thead>
Run Code Online (Sandbox Code Playgroud)

日期格式如下:d/m/y(17/7/14)

我如何修复它以正确排序日期?

小智 8

<td>将日期放在内容的开头,将其转换为数字,如下所示

<span style="display:none">{{strtotime($date)}}</span>


PHP*_*oob 5

您必须使用具有“data-sorter”属性的自定义排序器,例如 data-sorter="datesSorter"

然后满足您的需求:

function datesSorter(a, b) {
  if (new Date(a) < new Date(b)) return 1;
  if (new Date(a) > new Date(b)) return -1;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

  • @PHPnoob - 在编写答案时,您应该避免添加额外的依赖项,除非确实有必要。如果你这样做,你一定应该在你的答案中提到这一点,否则对于OP和未来的访问者来说,这将是更令人困惑而不是有帮助。 (2认同)