引导表:按日期字段排序

时间:2019-03-14 14:45:20

标签: javascript php jquery html bootstrap-table

我正在使用此Bootstrap table plugin。但是按日期排序不能正常工作。

代码如下:

<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>

日期的格式为:d/m/y(17/7/14)

如何解决该问题以便对日期进行正确排序?

4 个答案:

答案 0 :(得分:1)

您必须使用具有“数据分类器”属性的自定义分类器,例如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;
}

答案 1 :(得分:1)

<iframe src="myfile_bar.html"></iframe> 内容的开头把日期转换成这样的数字

<td>

答案 2 :(得分:0)

我让它像这样工作。 我添加了一个新列(数字)并将其设置为隐藏。您可以通过将该日期转换为数字来轻松实现。

   $('#mainTable').bootstrapTable({
        sortStable: true,
        pagination: true,
        pageSize: 100,
        toolbar:"#toolbar",
        search: true,
        searchOnEnterKey: false,
        sortOrder: "desc",sortOrder: "desc",

//在这里,我们确定将对表格进行排序的列

        sortName: "rel0",
        columns: [

         {

//这是用作排序器的隐藏数字列

                field: 'rel0',
                title: 'rel0',                  
                visible:false,                             
            },
            {

//这是可见的列

                field: 'rel',
                title: 'Date / hour',
            },],

        data: objetoData
    });

答案 3 :(得分:0)

您必须使用具有“数据分类器”属性的自定义分类器,例如data-sorter =“ datesSorter”。

然后满足您的需求:

function datesSorter(a, b) {
    return Date.parse(a) - Date.parse(b);
}