JavaScript操作select下拉框选项移动

运行结果:

源代码:

  1 <!DOCTYPE html>
  2 <html lang="zh">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>选项移动</title>
  6 </head>
  7 <body>
  8 <table width="285" height="169" border="0" align="left" cellpadding="0" cellspacing="0"
  9        style="margin: 15px 0px 0px 15px;">
 10     <tr>
 11         <td width="126">
 12             <!--multiple="multiple" 能同时选择多个   size="10"  确定下拉选的长度-->
 13             <select name="first" multiple="multiple" size=10 class="td3" id="s">
 14                 <option value="选项1">选项1</option>
 15                 <option value="选项2">选项2</option>
 16                 <option value="选项3">选项3</option>
 17                 <option value="选项4">选项4</option>
 18                 <option value="选项5">选项5</option>
 19                 <option value="选项6">选项6</option>
 20                 <option value="选项7">选项7</option>
 21                 <option value="选项8">选项8</option>
 22             </select>
 23         </td>
 24         <td width="69" valign="middle">
 25             <input name="add" id="add" type="button" class="button" value="-->"/>
 26             <input name="add_all" id="add_all" type="button" class="button" value="==>"/>
 27             <input name="remove" id="remove" type="button" class="button" value="&lt;--"/>
 28             <input name="remove_all" id="remove_all" type="button" class="button" value="&lt;=="/>
 29         </td>
 30         <td width="127" align="left">
 31             <select name="second" size="10" multiple="multiple" class="td3" id="second">
 32                 <option value="选项9">选项9</option>
 33             </select>
 34         </td>
 35     </tr>
 36 </table>
 37 <script type="text/javascript">
 38     // 左右两边的select
 39     var leftSelect = document.getElementById("s");
 40     var leftItems = leftSelect.children;
 41     var rightSelect = document.getElementById("second");
 42     var rightItems = rightSelect.children;
 43     var selectedItems = [];
 44
 45     // 4个 按钮
 46     // 01 -> left2right selected
 47     document.getElementById("add").onclick = function () {
 48         // todo
 49         selectedItems.splice(0, selectedItems.length); // 删除自身的全部元素
 50         for (var i = 0; i < leftItems.length; i++) {
 51             var item = leftItems[i];
 52             if (item.selected) {
 53                 selectedItems.push(item);
 54             }
 55         }
 56         for (var j = 0; j < selectedItems.length; j++) {
 57             rightSelect.appendChild(selectedItems[j]);
 58 //            leftSelect.removeChild(selectedItems[j]); todo ->为什么左边的不需要移除呢?
 59         }
 60     };
 61     // 02 -> left2right all
 62     document.getElementById("add_all").onclick = function () {
 63         // todo
 64         selectedItems.splice(0, selectedItems.length); // 删除自身的全部元素
 65 //        alert(selectedItems.concat(selectedItems,leftItems).length); // todo ->为什么添加之后长度只是1?
 66         for (var i = 0; i < leftItems.length; i++) {
 67             var item = leftItems[i];
 68             selectedItems.push(item);
 69         }
 70         for (var j = 0; j < selectedItems.length; j++) {
 71             rightSelect.appendChild(selectedItems[j]);
 72         }
 73     };
 74     // 03 -> right2left  selected
 75     document.getElementById("remove").onclick = function () {
 76         // todo
 77
 78         selectedItems.splice(0, selectedItems.length); // 删除自身的全部元素
 79         for (var j = 0; j < rightItems.length; j++) {
 80             var item = rightItems[j];
 81             if (item.selected) {
 82                 selectedItems.push(item);
 83             }
 84         }
 85
 86         for (var i = 0; i < selectedItems.length; i++) {
 87             leftSelect.appendChild(selectedItems[i]);
 88         }
 89     };
 90     // 04 -> right2left  all
 91     document.getElementById("remove_all").onclick = function () {
 92         // todo
 93         selectedItems.splice(0, selectedItems.length); // 删除自身的全部元素
 94         for (var j = 0; j < rightItems.length; j++) {
 95             var item = rightItems[j];
 96             selectedItems.push(item);
 97         }
 98         for (var i = 0; i < selectedItems.length; i++) {
 99             leftSelect.appendChild(selectedItems[i]);
100         }
101     };
102
103     // 双击事件
104     leftSelect.ondblclick = function () {
105         // 左边select控件的双击事件
106 //        alert(leftSelect.selectedIndex);
107         rightSelect.appendChild(leftItems[leftSelect.selectedIndex]);
108     };
109
110     rightSelect.ondblclick = function () {
111         leftSelect.appendChild(rightItems[rightSelect.selectedIndex]);
112     };
113 </script>
114 <!--<script type="text/javascript" src="js/selectTest.js"></script>-->
115 </body>
116 </html>

原文地址:https://www.cnblogs.com/yijiahao/p/11770578.html

时间: 2024-10-10 08:54:01

JavaScript操作select下拉框选项移动的相关文章

selenium webdriver学习(八)------------如何操作select下拉框(转)

selenium webdriver学习(八)------------如何操作select下拉框 博客分类: Selenium-webdriver 下面我们来看一下selenium webdriver是如何来处理select下拉框的,以http://passport.51.com/reg2.5p这个页面为例.这个页面中有4个下拉框,下面演示4种选中下拉框选项的方法.select处理比较简单,直接看代码吧:) Java代码   import org.openqa.selenium.By; impo

JS/JQuery操作select下拉框

一.js 操作select 下拉框 var selObj = 下拉框对象 1. 移除所有项:selObj.options.length = 0; 2. 移除下拉框中的一项:selObj.options.remove(index); “index”为下拉框选项的索引值,若0索引项移出(自上而下),那么1索引项的索引会变为0,后面的索引依次向前推进 也可利用循环,移除所有项: var length = selObj.options.length; for(var i=length-1;i>=0;i-

Javascript获取select下拉框选中的的值

现在有一id=test的下拉框,怎么拿到选中的那个值呢? 分别使用javascript原生的方法和jquery方法 <select id="test"  name="">     <option   value="1">text1</option>     <option   value="2">text2</option>    </select> co

JavaScript获取select下拉框中的第一个值

JavaScript获取select下拉框中的第一个值 1.说明 获取select下拉框中的第一个值 2.实现源代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

JavaScript解决select下拉框中的内容太长显示不全的问题

JavaScript解决select下拉框中的内容太长显示不全的问题 1.说明 有些情况下,select下拉框的内容过长,导致部分看不见: 现在通过鼠标事件,让下拉框中的内容显示完全 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html

JavaScript向select下拉框中添加和删除元素

JavaScript向select下拉框中添加和删除元素 1.说明 a   利用append()方法向下拉框中添加元素 b   利用remove()方法移除下拉框中最后一个元素 2.设计源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xm

JavaScript获取Select下拉框Option的Value和Text值的方法

Js获取select下拉列表框各个Option的Value值相对比较容易,不过获取Text值却有点麻烦,对于一个初学JavaScript的 新手来说,可能一时还无从下手,那么就请看下本文的方法,以一个form表单中的Select下拉框菜单为例,来说明如何用JavaScript获取其 Value值和Text值: 示例表单,里面是一个select下拉列表框的各个列表项及值: <form name="form1"> <select name="testvalue&

jquery操作select下拉框的多种方法(选中,取值,赋值等)

jQuery获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text3. var checkValue=$("#select

jquery操作select下拉框的多种方法(选中,取值,赋值等) 转载

jQuery获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text 3. var checkValue=$("#se