页面有多个<input type="radio" name="a" id="Radio1" value="1" />
有向上移动,向下移动,置顶,置尾,向上移动就是选择的radio往下移动,上相反,置顶就是选择的radio放在第一个,置尾就是选择的radio放在最后一个,求解法

解决方案 »

  1.   

    先把html结构发一下 这算法和你的html强相关~~~
      

  2.   

    <html>
    <head>
        <title>soft</title>
    </head>
    <body>
    <form id="form1">
        <div>
            <input type="button" value="顶" onClick="top()"> 
            <input type="button" value="上" > 
            <input type="button" value="下" >
            <input type="button" value="底" onClick="bottom()">
        </div>
        <div>
            <ul>
                <li><input type="radio" name="sel" value=""> <input type="text" value="1"></li>
                <li><input type="radio" name="sel" value=""> <input type="text" value="2"></li>
                <li><input type="radio" name="sel" value=""> <input type="text" value="3"></li>
                <li><input type="radio" checked name="sel" value=""> <input type="text" value="4"></li>
                <li><input type="radio" name="sel" value=""> <input type="text" value="5"></li>
                <li><input type="radio" name="sel" value=""> <input type="text" value="6"></li>
                <li><input type="radio" name="sel" value=""> <input type="text" value="7"></li>
                <li><input type="radio" name="sel" value=""> <input type="text" value="8"></li>
            </ul>
        </div>
    </form>
    </body>
    </html>
      

  3.   

    这个实际上就是一个交换的算法 我给你写一个“上”的 剩下的你自己来完成 
    <html>
    <head>
      <title>soft</title>
    <script type="text/javascript">
      function topOne(){
         var lis = document.getElementById('form1').getElementsByTagName('li');
         for(var i=0,len = lis.length;i<len;i++){
            if(lis[i].innerHTML.indexOf('checked') != -1){
                 if(i!=0){
                  var t = lis[i-1].innerHTML;
                  var s = lis[i].innerHTML;
                  lis[i-1].innerHTML = s;
                  lis[i].innerHTML = t;
                 }else{
                   alert('已经在最顶端')
                  }
                
            }
         }
      }
    </script>
    </head>
    <body>
    <form id="form1">
      <div>
      <input type="button" value="顶" onClick="top()">  
      <input type="button" value="上" onClick="topOne()">  
      <input type="button" value="下" >
      <input type="button" value="底" onClick="bottom()">
      </div>
      <div>
      <ul>
      <li><input type="radio" name="sel" value=""> <input type="text" value="1"></li>
      <li><input type="radio" name="sel" value=""> <input type="text" value="2"></li>
      <li><input type="radio" name="sel" value=""> <input type="text" value="3"></li>
      <li><input type="radio" checked name="sel" value=""> <input type="text" value="4"></li>
      <li><input type="radio" name="sel" value=""> <input type="text" value="5"></li>
      <li><input type="radio" name="sel" value=""> <input type="text" value="6"></li>
      <li><input type="radio" name="sel" value=""> <input type="text" value="7"></li>
      <li><input type="radio" name="sel" value=""> <input type="text" value="8"></li>
      </ul>
      </div>
    </form>
    </body>
    </html>
      

  4.   

    [Quote=引用 3 楼 fanchuanzhidu 的回复:]<script type="text/javascript">
     function topOne(){
         var lis = document.getElementById('form1').getElementsByTagName('li');
         for(var i=0,len = lis.length;i<len;i++){
            if(lis[i].innerHTML.indexOf('checked') != -1){
                 if(i!=0){
                  var t = lis[i-1].innerHTML;
                  var s = lis[i].innerHTML;
                  lis[i-1].innerHTML = s;
                  lis[i].innerHTML = t;
                 }else{
                   alert('已经在最顶端')
                  }
                
            }
         }
      }
    </script>
    "if(lis[i].innerHTML.indexOf('checked') != -1)" 这个条件是不对的吧..........