ListBoxは上に移動、下に移動、左に移動、右に移動します.


<html>
<head>
    <title>Javascript            </title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
    <p>                (  shift ctrl    ),               。</p>
    <form method="post" name="myform">
    <table border="0" width="300">
        <tr>
            <td width="40%">
                <select style="width:100px; height:200px" multiple name="list1" size="12" ondblclick="moveOption(document.myform.list1, document.myform.list2)">
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="   ">   </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="   ">   </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                    <option value="  ">  </option>
                </select>
            </td>
            <td width="20%" align="center">
                <input type="button" value=">>" onclick="moveOption(document.myform.list1, document.myform.list2)"><br />
                <br />
                <input type="button" value="<<" onclick="moveOption(document.myform.list2, document.myform.list1)">
            </td>
            <td width="40%">
                <select style="width:100px; height:200px" multiple name="list2" size="12" ondblclick="moveOption(document.myform.list2, document.myform.list1)">
                </select>
            </td>
            <td>
                <button onclick="changepos(list2,-1)" type="button">
                    ∧</button>
                <br />
                <button onclick="changepos(list2,1)" type="button">
                    ∨</button>
            </td>
        </tr>
    </table>
     :<input type="text" name="city" size="40">
    </form>
    <script language="JavaScript"> 
    <!--
        function moveOption(e1, e2) {
            try {
                for (var i = 0; i < e1.options.length; i++) {
                    if (e1.options[i].selected) {
                        var e = e1.options[i];
                        e2.options.add(new Option(e.text, e.value));
                        e1.remove(i);
                        i = i - 1
                    }
                }
                document.myform.city.value = getvalue(document.myform.list2);
            }
            catch (e) { }
        }

        function getvalue(geto) {
            var allvalue = "";
            for (var i = 0; i < geto.options.length; i++) {
                allvalue += geto.options[i].value + ",";
            }
            return allvalue;
        }

        function changepos(obj, index) {
            if (index == -1) {
                if (obj.selectedIndex > 0) {
                    obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex - 1))
                }
            }
            else if (index == 1) {
                if (obj.selectedIndex < obj.options.length - 1) {
                    obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex + 1))
                }
            }
        } 
    //--> 
    </script>
</body>
</html>
<html>  
<head>  
    <title>Jquery            </title>  
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
	<script src="http://static.blog.csdn.net/scripts/jquery.js" type="text/javascript"></script>
</head>  
<body>  
    <p>                (  shift ctrl    ),               。</p>  
    <form method="post" name="myform">  
    <table border="0" width="300">  
        <tr>  
            <td width="40%">  
                <select style="width:100px; height:200px"  multiple name="list1" id="list1"  ondblclick="ListBox_Move('list1','list2')">  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="   ">   </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="   ">   </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                    <option value="  ">  </option>  
                </select>  
            </td>  
            <td width="20%" align="center">  
                <input type="button" value=">>" onclick="ListBox_Move('list1','list2')"><br />  
                <br />  
                <input type="button" value="<<" onclick="ListBox_Move('list2','list1')">  
            </td>  
            <td width="40%">  
                <select style="width:100px; height:200px"  multiple name="list2" id="list2"  ondblclick="ListBox_Move('list2','list1')">  
                </select>  
            </td>  
            <td>  
                <button onclick="ListBox_Order('list2','up')" type="button">  
                    ∧</button>  
                <br />  
                <button onclick="ListBox_Order('list2','down')" type="button">  
                    ∨</button>  
            </td>  
        </tr>  
    </table>  
     :<input type="text" name="city" size="40">  
    </form>  
    <script language="JavaScript">    
	function ListBox_Move(listfrom,listto)
	{
		var size = $("#" + listfrom + " option").size();
		var selsize = $("#" + listfrom + " option:selected").size();
		if(size>0 && selsize>0)
		{
			$.each($("#"+listfrom+" option:selected"), function(i,own){
				$(own).appendTo($("#" + listto));
				$("#" + listfrom + "").children("option:first").attr("selected",true); 
			});
		}
	}

	function ListBox_Order(ListName,action)
	{
		var size = $("#"+ListName+" option").size();
		var selsize = $("#"+ListName+" option:selected").size();
		if(size > 0 && selsize > 0)
		{
			$.each($("#"+ListName+" option:selected"),function(i,own){
				if(action == "up")
				{
					$(own).prev().insertAfter($(own));
				}
				else if(action == "down")//down             
				{
					$(own).next().insertBefore($(own));
				}
			})
		}
	}
    </script>  
</body>  
</html>