table-responsive 有的字段为金额,如何按金额大小 排序
时间: 2024-12-22 11:26:22 浏览: 14
在HTML和CSS中,"table-responsive"通常用于创建响应式表格,使得它们能在小屏幕设备上自适应布局。如果你想要按照金额字段对表格内容进行排序,你可以这样做:
1. **HTML**:
使用`<th>`标签为金额列添加一个`data-sort`属性,存储排序关键字,如"amount",便于JavaScript处理排序操作。
```html
<table class="table table-responsive">
<thead>
<tr>
<th onclick="sortTable('amount')">金额</th>
<!-- 其他列... -->
</tr>
</thead>
<tbody>
<!-- 表格行数据,包含金额字段... -->
</tbody>
</table>
```
2. **JavaScript/jQuery (假设你已引入)**:
编写一个函数`sortTable(key)`,它会检测当前点击的列,并根据这个字段进行升序或降序排序。
```javascript
function sortTable(key) {
var table, rows, switching, i, x, y, shouldSwitch;
table = document.querySelector('.table-responsive');
switching = true;
while (switching) {
switching = false;
rows = table.rows;
for (i = 1; i < (rows.length - 1); i++) {
shouldSwitch = false;
x = rows[i].getElementsByTagName('td')[key];
y = rows[i + 1].getElementsByTagName('td')[key];
if (isNaN(x.innerHTML.replace(/,/g, '')) || isNaN(y.innerHTML.replace(/,/g, ''))) {
// 如果不是数字,可以考虑忽略或者抛出错误
} else {
if (parseFloat(x.innerHTML) > parseFloat(y.innerHTML)) {
shouldSwitch = true;
break;
}
}
}
if (shouldSwitch) {
rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
switching = true;
}
}
}
```
此段代码将根据`data-sort="amount"`的元素值对表格进行排序。如果需要用户手动触发排序,可以替换`onclick`事件为按钮或其他交互元素。
阅读全文