可不可以让表格的行进行排序。
一个表格有五行,第一行是让用户选择什么排在第一位,
下面是默认的四行,
1 2 3 4 5
行1
行2
行3
行4
行5
我点上面的1,2,3,4,5中的任一个
下面对应的第几行就排在第一位。
问题点数:20、回复次数:7Top
1 楼chouchy(城市刀客)回复于 2006-03-15 23:16:54 得分 5
<input type="radio" name="sort">1
<input type="radio" name="sort">2
<input type="radio" name="sort">3
<input type="radio" name="sort">4
<input type="radio" name="sort">5
<table border="1" id="myTab">
<tr>
<td>行一</td>
</tr>
<tr>
<td>行二</td>
</tr>
<tr>
<td>行三</td>
</tr>
<tr>
<td>行四</td>
</tr>
<tr>
<td>行五</td>
</tr>
</table>
<script lanuage="javascript">
var idx
document.onclick=function()
{
var obj=event.srcElement;
if(obj.tagName=="INPUT" && obj.getAttribute("type")=="radio") //选举
{
idx=obj.nextSibling.nodeValue-1;
swapRow();
}
}
function swapRow()
{
var myTab=document.getElementById("myTab");
var myRow=myTab.rows[idx];
myTab.firstChild.removeChild(myRow);
myTab.firstChild.insertAdjacentElement("afterBegin",myRow);
}
</script>Top
2 楼mingxuan3000(铭轩)回复于 2006-03-15 23:39:26 得分 2
markTop
3 楼dogfish(PowerJS.com)回复于 2006-03-16 01:44:48 得分 2
Search Google
Keyword is "SortTable Javascript"
You will get the answer. I did it before.Top
4 楼duoduobaba(避雷针)回复于 2006-03-16 03:01:52 得分 3
已经回答到http://community.csdn.net/Expert/topic/4617/4617267.xml?temp=.1041071Top
5 楼chunfeng007(61秒)回复于 2006-03-16 09:44:28 得分 0
上面各位的方法我都试过了,也都没问题,先谢了,
我还有个问题想请教一个,就是,最上面一行是几张图片形式的链接,这一行和下面要排序的TABLE没关系,就像上面城市刀客用的INPUT TYPE=RADIO 一样,只不过我想用的是图片形式的链接.
请教如何实现.Top
6 楼duoduobaba(避雷针)回复于 2006-03-16 11:52:23 得分 8
<a href="javascript:orderIt(0)"><img width="36" height="32" border="0"></a>
<a href="javascript:orderIt(1)"><img width="36" height="32" border="0"></a>
<a href="javascript:orderIt(2)"><img width="36" height="32" border="0"></a>
<a href="javascript:orderIt(3)"><img width="36" height="32" border="0"></a>
<table border="1" id="myTab">
<tr style="cursor:default">
<td onClick = "orderIt(this.cellIndex)">编号</td>
<td onClick = "orderIt(this.cellIndex)">姓名</td>
<td onClick = "orderIt(this.cellIndex)">年龄</td>
<td onClick = "orderIt(this.cellIndex)">单位</td>
</tr>
<tr>
<td>01220</td>
<td>张三</td>
<td>36</td>
<td>网络部</td>
</tr>
<tr>
<td>02551</td>
<td>李四</td>
<td>27</td>
<td>技术部</td>
</tr>
<tr>
<td>00020</td>
<td>王五</td>
<td>12</td>
<td>编辑部</td>
</tr>
<tr>
<td>32250</td>
<td>赵六</td>
<td>80</td>
<td>新闻部</td>
</tr>
</table>
<script language="javascript">
function orderIt(idx){
var AOrder = new Array
var obj=document.getElementById("myTab");
var allTableRows = obj.rows.length;
for(var i=1;i<allTableRows;i++){
AOrder.push(obj.rows[i].cells[idx].innerText);
AOrder.sort();
}
for(var i=1;i<allTableRows;i++){
for(var j=1;j<allTableRows;j++){
if (obj.rows[j].cells[idx].innerText==AOrder[i-1]){
obj.moveRow(j,i);
break;
}
}
}
}
</script>Top
7 楼chunfeng007(61秒)回复于 2006-03-16 16:17:37 得分 0
谢谢避雷针.城市刀客的耐心解答.Top




