<script language='javascript'>
function Refresh(){
for (var i =0; i< frm1.tname.length-1;i++){
for (var n = i+1 ; n<frm1.tname.length; n++){
if(frm1.tname[i].value<frm1.tname[n].value){
var temp1=frm1.tname[i].value;
var temp2=frm1.ss[i].value;
frm1.tname[i].value=frm1.tname[n].value;
frm1.ss[i].value=frm1.ss[n].value;
frm1.tname[n].value=temp1;
frm1.ss[n].value=temp2
}
}
}
}
</script>
<form name=frm1>
     <table>
          <tr>
               <td><input type=text name='tname' value='12'></td>
               <td><input type=text name='ss' value='ss'></td>
          </tr>
          <tr>
               <td><input type=text name='tname' value='15'></td>
               <td><input type=text name='ss' value='bb'></td>
          </tr>
          <tr>
               <td><input type=text name='tname' value='11'></td>
               <td><input type=text name='ss' value='cc'></td>
          </tr>
          <tr>
               <td><input type=text name='tname' value='13'></td>
               <td><input type=text name='ss' value='dd'></td>
          </tr>
     <table>
<form>
<input type=button name='a' value='a' onclick='Refresh()'>

解决方案 »

  1.   

    maozhongpei(毛中培) 
    还是不行啊!输入的时候如果已经存在文本框有值就不可以,
    除非每一个文本框的值都被重新的改过就可以
      

  2.   

    前面没仔细考虑,这样比的是字符串,要parseInt
    function Refresh(){
    for (var i =0; i< frm1.tname.length-1;i++){
    for (var n = i+1 ; n<frm1.tname.length; n++){
    if(parseInt(frm1.tname[i].value)<parseInt(frm1.tname[n].value)){
    var temp1=frm1.tname[i].value;
    var temp2=frm1.ss[i].value;
    frm1.tname[i].value=frm1.tname[n].value;
    frm1.ss[i].value=frm1.ss[n].value;
    frm1.tname[n].value=temp1;
    frm1.ss[n].value=temp2
    }
    }
    }
    }
      

  3.   

    下拉框?没考虑过
    试试看直接交换两个cell的innerHTML,这样可能比较换下拉框容易点