HTML表是否可以用JavaScript按行而不是按列排序?
我使用W3Schools通过单击列标题对所有表行进行排序。正如预期的那样,这将按该列值对所有行进行排序 我是舒尔,这已经得到了一些回答,但我不难过滤serarch结果,通过单击第一列行找到类似的列排序方法(希望是纯javascript) 应按单击的行值对所有列进行排序 我希望有一些组合的方法,可以根据用户的点击按列和按行排序,但是只要一个按行排序方法就可以了 谢谢你 预期行为 未排序的表:HTML表是否可以用JavaScript按行而不是按列排序?,javascript,html,html-table,Javascript,Html,Html Table,我使用W3Schools通过单击列标题对所有表行进行排序。正如预期的那样,这将按该列值对所有行进行排序 我是舒尔,这已经得到了一些回答,但我不难过滤serarch结果,通过单击第一列行找到类似的列排序方法(希望是纯javascript) 应按单击的行值对所有列进行排序 我希望有一些组合的方法,可以根据用户的点击按列和按行排序,但是只要一个按行排序方法就可以了 谢谢你 预期行为 未排序的表: <table id="myTable"> <tbody> <tr
<table id="myTable">
<tbody>
<tr>
<th onclick="sortTableRows(0)">Name</th>
<th onclick="sortTableRows(1)">Col 1</th>
<th onclick="sortTableRows(2)">Col 2</th>
<th onclick="sortTableRows(3)">Col 3</th>
</tr>
<tr>
<td onclick="sortTableCols(1)">Alan Brado</td>
<td>2</td>
<td>3</td>
<td>1</td>
</tr>
<tr>
<td onclick="sortTableCols(2)">Kevin Chuca</td>
<td>1</td>
<td>3</td>
<td>2</td>
</tr>
<tr>
<td onclick="sortTableCols(3)">Pamela Chu</td>
<td>3</td>
<td>2</td>
<td>1</td>
</tr>
</tbody>
</table>
名称
第1列
第2列
第3列
艾伦·布拉多
2.
3.
1.
凯文·丘卡
1.
3.
2.
朱丽娟
3.
2.
1.
更新:见@sanxofon的答案。是我的改进。
暂时没有答案,因此我最终使用以下步骤解决了问题:
onClick=“sortTable(x,y)”
来改进
这是:
var-dirc=0,dirr=0,cc=0,rr=0;
函数colSlice(arr,ini=0,fin=0){
if(ini b[r].toLowerCase())返回-1;
else如果(a[r].toLowerCase()
/*只是为了美丽*/
#我的桌子{
边界:无;
}
#myTable th{
光标:n-调整大小;
边界:无;
背景色:#E0;
}
#第一个孩子{
光标:移动;
}
th,td{
宽度:5%;
}
#myTable tr td{
边界:无;
边框底部:1px实心#aaa;
文本对齐:居中;
}
#myTable tr td:第一个孩子{
光标:e-resize;
背景色:#E0;
边框底部:1px实心#aaa;
文本对齐:居中;
}
#myTable tr:最后一个孩子td{
边界:无;
}
二者都
科拉
B列
C柱
A排
2.
3.
1.
B排
1.
3.
2.
C行
3.
2.
1.
我经常问自己这个问题,但似乎从来没有真正需要它,所以我再也没有进一步问过自己。您的答案很好,但在将数字作为字符串进行比较时会遇到问题。它不会显示在代码中,因为您使用的是1、2、3
值。
用混合数据类型检查我的代码段,当然代码可以减少很多
var-dirc=0,dirr=0,cc=0,rr=0;
函数colSlice(arr,ini=0,fin=0){
如果(ini=ini&&j0|arr[i][j]=“0”)
切片[i].push(parseFloat(arr[i][j]);
其他的
切片[i].push(arr[i][j]);
}
}
返回切片;
}
函数colJoin(a,b){
var=[];
对于(变量i=0;i<table id="myTable">
<tbody>
<tr>
<th onclick="sortTableRows(0)">Name</th>
<th onclick="sortTableRows(1)">*Col 1*</th>
<th onclick="sortTableRows(2)">Col 2</th>
<th onclick="sortTableRows(3)">Col 3</th>
</tr>
<tr>
<td onclick="sortTableCols(1)">Kevin Chuca</td>
<td>1</td>
<td>3</td>
<td>2</td>
</tr>
<tr>
<td onclick="sortTableCols(1)">Alan Brado</td>
<td>2</td>
<td>3</td>
<td>1</td>
</tr>
<tr>
<td onclick="sortTableCols(3)">Pamela Chu</td>
<td>3</td>
<td>2</td>
<td>1</td>
</tr>
</tbody>
</table>
<table id="myTable">
<tbody>
<tr>
<th onclick="sortTableRows(0)">Name</th>
<th onclick="sortTableRows(1)">Col 3</th>
<th onclick="sortTableRows(2)">Col 1</th>
<th onclick="sortTableRows(3)">Col 2</th>
</tr>
<tr>
<td onclick="sortTableCols(1)">*Alan Brado*</td>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td onclick="sortTableCols(2)">Kevin Chuca</td>
<td>2</td>
<td>1</td>
<td>3</td>
</tr>
<tr>
<td onclick="sortTableCols(3)">Pamela Chu</td>
<td>1</td>
<td>3</td>
<td>2</td>
</tr>
</tbody>
</table>