<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Oo緣來是你oO


    posts - 120,comments - 125,trackbacks - 0
     

     【JavaScript】列表(Select)選項(Option)的移動(上下左右)

    馬嘉楠    2009-1-11

    共同學習,歡迎轉載。轉載請注明地址【http://blog.csdn.net/majianan/archive/2009/01/11/3754521.aspx】,謝謝O(∩_∩)O!

    對《【JavaScript】列表元素上下左右移動:Select和Option的應用》中的方法進行了優化。

    1.使用appendChild()方法優化左右移動函數moveRight()

    2.使用insertBefore()方法優化上下移動函數moveUp()

    3.修改同時選中多項上下移動不正常的Bug

     

    功能如下:

    支持一次選中多項在左右列表中來回移動

     



     

     

     

    代碼如下:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     
    <HEAD>
      
    <TITLE> New Document </TITLE>
      
    <META NAME="Author" CONTENT="majianan">
    <SCRIPT language=javascript>
        
    var currentSel = null;
        
    function
     setButton(obj){        
            
    if(obj.length==0return
    ;
            currentSel 
    =
     obj;
            
    if(obj.id=="leftSel"
    ){
                document.getElementById(
    "btnLeft").disabled = true
    ;
                document.getElementById(
    "btnRight").disabled = false
    ;                
                reSelect(document.getElementById(
    "rightSel"
    ));            
            }
    else
    {
                document.getElementById(
    "btnLeft").disabled = false
    ;
                document.getElementById(
    "btnRight").disabled = true
    ;               
                reSelect(document.getElementById(
    "leftSel"
    ));                
            }       
        }

          
    function
     move(){
              
    if(arguments.length==1
    ){
                  moveUp(arguments[
    0
    ]);
              }
    else if(arguments.length==2
    ){
                  moveRight(arguments[
    0],arguments[1
    ]);
              }
          }

          
    function
     moveUp(direction){
              
    if(currentSel == nullreturn
    ;
              
    if(direction){//up

                if (currentSel.selectedIndex > 0) {  
                    
    for(var i=0;i<currentSel.length;i++
    ){
                        
    if
    (currentSel[i].selected){
                            
    var oOption =
     currentSel.options[i];
                            
    var oPrevOption = currentSel.options[i---1
    ];
                            currentSel.insertBefore(oOption, oPrevOption);
                        }
                    }                
                } 
              }
    else{//down

                for(var i=currentSel.length-1;i>=0;i--){
                    
    if
    (currentSel[i].selected){
                        
    if(i==currentSel.length-1return
    ;
                        
    var oOption =
     currentSel.options[i];
                        
    var oNextOption = currentSel.options[i+1
    ];
                        currentSel.insertBefore(oNextOption, oOption);                        
                    }
                }
              }
          }

        
    function
     moveRight(src,des){
            
    if(src.selectedIndex==-1
    ){
                alert(
    "Please select first!"
    );
                
    return
    ;
            }
            
    for(var i=0;i<src.length;i++
    ){
                
    if
    (src[i].selected){
                    des.appendChild(src.options[i
    --
    ]);
                }
            }
            setButton(des);
        }
        
        
    function
     reSelect(obj){
            
    for(var i=0; i<obj.length; i++
    ){
                
    if(obj[i].selected) obj[i].selected = false
    ;
            }
        }
        
    </SCRIPT>


     
    </HEAD>

     
    <BODY>
      
    <form id="form1">
          
    <table width="40%" align="center">
              
    <tr>
                  
    <td>
                      
    <input type="button" value=" Up " id="btnUp" onClick="move(true);" style="width:65"/>
                    
    <br />
                    
    <input type="button" value=" Down " id="btnDowm" onClick="move(false);" style="width:65" />                
                  
    </td>

                  
    <td>
                      
    <select multiple id="leftSel" onclick="setButton(this)" ondblclick="document.getElementById('btnRight').click()" style="height:200px;width:100px;">

                        
    <option value="1">Java</option>
                        
    <option value="2">JavaScript</option>
                        
    <option value="3">C++</option>
                        
    <option value="4">HTML</option>
                    
    </select>
                
    </td>
                
    <td>
                    
    <input type="button" value=" >> " id="btnRight" onClick="move(document.getElementById('leftSel'),document.getElementById('rightSel'));" style="width:65" />
                    
    <br />
                    
    <input type="button" value=" << " id="btnLeft" onClick="move(document.getElementById('rightSel'),document.getElementById('leftSel'));" style="width:65" />
                    
    </td>
                    
    <td>
                        
    <select multiple id="rightSel" onclick="setButton(this)"  ondblclick="document.getElementById('btnLeft').click()" style="height:200px;width:100px;" >
     
                        
    <option value="5">CSS</option>
                        
    <option value="6">.Net</option>
                        
    </select>
                    
    </td>
                
    </tr>
            
    </table>
        
    </form>
     
    </BODY>
    </HTML>



    馬嘉楠
    jianan.ma@gmail.com

    posted on 2009-01-11 22:58 馬嘉楠 閱讀(796) 評論(0)  編輯  收藏 所屬分類: SoureCodeJava Script
    主站蜘蛛池模板: 免费在线观看的网站| 99在线视频免费| 日韩一区二区免费视频| 中文字幕无码精品亚洲资源网久久| 亚洲免费黄色网址| 亚洲乱码一区av春药高潮| 国产黄色免费网站| 91在线亚洲综合在线| 岛国av无码免费无禁网站| 亚洲精品成a人在线观看☆| 日韩免费无码一区二区视频| 亚洲乱码日产精品一二三| 国产免费怕怕免费视频观看| 老司机午夜性生免费福利| 亚洲日韩中文在线精品第一| 久久成人永久免费播放| 人人狠狠综合久久亚洲88| 久久中文字幕免费视频| 亚洲人成黄网在线观看| 免费看www视频| 一区二区三区精品高清视频免费在线播放| 亚洲精品国产精品乱码不卞 | 国产精品亚洲综合天堂夜夜| 亚洲成a人在线看天堂无码| 精选影视免费在线 | 亚洲酒色1314狠狠做| 成年丰满熟妇午夜免费视频| 免费看又黄又爽又猛的视频软件| 国产中文在线亚洲精品官网| 日韩午夜理论免费TV影院| 亚洲砖码砖专无区2023| av无码东京热亚洲男人的天堂| 岛国精品一区免费视频在线观看| 亚洲精品免费在线观看| 成人a视频片在线观看免费| 一区二区三区视频免费观看| 亚洲影院在线观看| 亚洲第一视频在线观看免费| 日韩内射激情视频在线播放免费| 亚洲熟妇av午夜无码不卡| 亚洲一区二区三区影院|