- <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>