【问题标题】:HTML Table Sort Customised Column SortHTML表格排序自定义列排序
【发布时间】:2017-11-06 00:53:56
【问题描述】:

我有一个表格,我想在其中对“BugId”列进行排序。

内置引导程序排序以特定方式排序,其中 ID-1 后跟 ID-11,然后是 ID-12,依此类推(按字母顺序),而我希望 ID-1 后跟 ID-2 ,然后是 ID-3 ....ID-11 等等。(以数字方式)

这就是我的桌子的样子:

<table id="myTable" class="footable table table-striped toggle-arrow-tiny m-xxs" data-page-size="1000">
 <thead>
  <tr>
     <th >Bug ID</th>
     <th>Component</th>
     <th data-sort-ignore="true">Report Date</th>
  </tr>
</thead> 
<tbody></tbody>
</table>

我可以以这种方式仅更改一列的排序吗?

【问题讨论】:

标签: html sorting html-table


【解决方案1】:
<table data-toggle="table" id="myTable" class="footable table table-striped toggle-arrow-tiny m-xxs" data-page-size="1000">
 <thead>
  <tr>
     <th data-field="bugid" data-sortable="true" data-sort-name="_bugid_data" data-sorter="bugidsorter" >Bug ID</th>
     <th data-field="component" data-sortable="true"  >Component</th>
     <th data-sort-ignore="true">Report Date</th>
  </tr>

</thead> 
<tbody><tr>
      <td data-bugid="1">id-1</td>
      <td >x</td>
      <td>11/12/2015</td>
    </tr>
      <tr>
      <td data-bugid="2" >id-2</td>
      <td >a</td>
      <td>11/12/2015</td>
    </tr>
    <tr>
      <td data-bugid="3">id-3</td>
      <td >b</td>
      <td>11/12/2015</td>
    </tr>
    <tr>
      <td data-bugid="4">id-4</td>
      <td >c</td>
      <td>11/12/2015</td>
    </tr>
    <tr>
      <td data-bugid="5">id-5</td>
      <td >d</td>
      <td>11/12/2015</td>
    </tr>
    <tr>
      <td data-bugid="6">id-6</td>
      <td >e</td>
      <td>11/12/2015</td>
    </tr>
      <tr>
      <td data-bugid="10">id-10</td>
      <td >e</td>
      <td>11/12/2015</td>
    </tr>
    </tbody>
</table>

排序功能

function bugidsorter(a, b) {
console.log(a);
    if (a.bugid < b.bugid) return -1;
    if (a.bugid > b.bugid) return 1;
    return 0;
}

fiddle

【讨论】:

  • 您只使用数字,将id改为id-1,id-2并添加id-10,它将id-10放在id-2之前。
  • 不,你没有看到这里的重点。添加一个 id-10,您会看到它位于 id-2 之前。您没有对以前和更新的代码进行任何更改。你有吗?
  • @Neha 是的,我做到了。但我不是我得到你。让我再检查一次。会回来的
  • 我想说的是,如果您包含 id-10 和 id-11,因为它按字母顺序排序,它将按以下顺序排列:id-1、id-10、id-11、 id-2。我想要的是:id-1,id-2,id-10,id-11。
  • 我得到了你 .. 检查我更新的答案和小提琴。 @Neha。其实一开始,我误解了你的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-04
  • 2011-03-02
  • 1970-01-01
  • 2014-03-18
  • 2021-08-04
  • 2021-04-02
  • 1970-01-01
相关资源
最近更新 更多