关于页面中表单排序显示问题请教? 自己顶一下。还有如果想任意排序的话javascript能控制这样的显示吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <SCRIPT LANGUAGE="JavaScript"><!--function change(){ var arr = document.all.chk; var oTable = document.all.tab; var curObj = null; for(var i=0; i<arr.length; i++) if(arr[i].value == 3) curObj = arr[i]; var firstNode = oTable.rows[0]; var curNode = curObj.parentNode.parentNode; firstNode.swapNode(curNode);}//--></SCRIPT><form name=formname> <table id="tab"> <tr> <td><input type=checkbox name=chk value=1></td><td>name1</td> </tr> <tr> <td><input type=checkbox name=chk value=2></td><td>name2</td> </tr> <tr> <td><input type=checkbox name=chk value=3></td><td>name3</td> </tr> <tr> <td><input type=checkbox name=chk value=4></td><td>name4</td> </tr> </table><p> <INPUT TYPE="button" value=" 交换 " onclick="change()"></form> 给你一个思路先用document.getElementsByTagName("tr").length得到表的行数。然后建立一个length大小的数组 myarray,把document.getElementsByTagName("tr")[0].innerHTML..............document.getElementsByTagName("tr")[length-1].innerHTML保存在数组里面。然后根据document.getElementsByTagName("tr")[i].id.value的值对数组进行排序。然后用var s = getElementsByTagName("table")[0]; document.formname.removeChild(s);把表全删掉。接下来用var temp = document.createElement("table"); for(a=0;a<myarray.length;a++) { var temptr = document.createElement("tr"); temptr.innerHTML=myarray[a]; temp.appendChild(temptr); } document.formname.appendChild(temp);把表动态的加到form里面就行了这个方法就是麻烦了一点。期待高手给出更好的方法。 <html><head></head><body><table border=3 id="aaa" ><tr><td onclick="tbpx()">name</td><td onclick="tbpx()">id</td></tr><tr><td >aaa</td><td>001</td></tr><tr><td >ccc</td><td>009</td></tr><tr><td >ddd</td><td>003</td></tr><tr><td >bbb</td><td>004</td></tr></table><br><br>点击表头排序</body><script>var zd=true;//正、倒序function tbpx(){var i,j,x;var theCell = event.srcElement;if (theCell.tagName=="TABLE"){return false;}while (theCell.tagName!="TD"){theCell = theCell.parentElement;}x=theCell.cellIndex;var len=aaa.rows.length;for(i=1;i<len;i++){for(j=i+1;j<len;j++){if(zd){if(aaa.rows(i).cells(x).innerHTML>aaa.rows(j).cells(x).innerHTML)aaa.rows(i).swapNode(aaa.rows(j));}else{if(aaa.rows(i).cells(x).innerHTML<aaa.rows(j).cells(x).innerHTML)aaa.rows(i).swapNode(aaa.rows(j));}}}zd=!zd;}</script></html> setTimeout问题,求助 EXTJS 一些问题 ExtJs 怎么对下拉列表(combo)的值进行修改? 想把select表单改成 超链接形式,还有表单结构问题 javascript高手来!!!!!!!!! 获取调用js函数的name或者id? js如何取得页面的<LINK href="如何取得此处的内容" rel=stylesheet type=text/css> 怎样控制IE浏览器右上方的关闭按键 如何用javascript编写动态图形显示 关于select的问题!!!!!!!!!!!!!!!!! 如何让下拉列表中选一项之后,让多选按纽全部消失? 替换字串的正则表达式(即给分)
<!--
function change()
{
var arr = document.all.chk;
var oTable = document.all.tab;
var curObj = null;
for(var i=0; i<arr.length; i++)
if(arr[i].value == 3)
curObj = arr[i];
var firstNode = oTable.rows[0];
var curNode = curObj.parentNode.parentNode;
firstNode.swapNode(curNode);
}
//-->
</SCRIPT>
<form name=formname>
<table id="tab">
<tr>
<td><input type=checkbox name=chk value=1></td><td>name1</td>
</tr>
<tr>
<td><input type=checkbox name=chk value=2></td><td>name2</td>
</tr>
<tr>
<td><input type=checkbox name=chk value=3></td><td>name3</td>
</tr>
<tr>
<td><input type=checkbox name=chk value=4></td><td>name4</td>
</tr>
</table><p>
<INPUT TYPE="button" value=" 交换 " onclick="change()">
</form>
先用document.getElementsByTagName("tr").length得到表的行数。
然后建立一个length大小的数组 myarray,把
document.getElementsByTagName("tr")[0].innerHTML
.......
.......
document.getElementsByTagName("tr")[length-1].innerHTML
保存在数组里面。然后根据document.getElementsByTagName("tr")[i].id.value的值
对数组进行排序。
然后用var s = getElementsByTagName("table")[0];
document.formname.removeChild(s);
把表全删掉。
接下来用var temp = document.createElement("table");
for(a=0;a<myarray.length;a++)
{
var temptr = document.createElement("tr");
temptr.innerHTML=myarray[a];
temp.appendChild(temptr);
}
document.formname.appendChild(temp);
把表动态的加到form里面就行了
这个方法就是麻烦了一点。
期待高手给出更好的方法。
<head></head>
<body>
<table border=3 id="aaa" >
<tr>
<td onclick="tbpx()">name</td>
<td onclick="tbpx()">id</td>
</tr>
<tr>
<td >aaa</td>
<td>001</td>
</tr>
<tr>
<td >ccc</td>
<td>009</td>
</tr>
<tr>
<td >ddd</td>
<td>003</td>
</tr>
<tr>
<td >bbb</td>
<td>004</td>
</tr>
</table>
<br><br>
点击表头排序</body>
<script>
var zd=true;//正、倒序
function tbpx()
{
var i,j,x;
var theCell = event.srcElement;
if (theCell.tagName=="TABLE"){
return false;
}
while (theCell.tagName!="TD"){
theCell = theCell.parentElement;
}
x=theCell.cellIndex;
var len=aaa.rows.length;
for(i=1;i<len;i++)
{
for(j=i+1;j<len;j++)
{
if(zd)
{if(aaa.rows(i).cells(x).innerHTML>aaa.rows(j).cells(x).innerHTML)
aaa.rows(i).swapNode(aaa.rows(j));
}
else
{if(aaa.rows(i).cells(x).innerHTML<aaa.rows(j).cells(x).innerHTML)
aaa.rows(i).swapNode(aaa.rows(j));}
}
}
zd=!zd;
}
</script>
</html>