基于javascript实现listbox左右移动

时间:2021-05-25

本文实例讲解了javascript实现listbox左右移动的详细代码,分享给大家供大家参考,具体内容如下

效果图:

具体代码:

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>listbox左右移动</title> </head> <body> <div style="background-color:#CCC; width:450px; height:300px; margin:150px,0,0,450px; border:1px solid"> <table align="center" width="285" height="169" bgcolor="#99CCFF"> <tr> <td width="100"> <select name="first" id="first" size="10" multiple="multiple" style="background-color:#3FC;"> <option value="选项1">选项1</option> <option value="选项2">选项2</option> <option value="选项3">选项3</option> <option value="选项4">选项4</option> <option value="选项5">选项5</option> <option value="选项6">选项6</option> <option value="选项7">选项7</option> <option value="选项8">选项8</option> </select> </td> <td width="85" valign="middle"> <input name="add" id="add" type="button" value="--->"/> <input name="add_all" id="add_all" type="button" value="===>"/> <input name="remove" id="remove" type="button" value="<---"/> <input name="remove_all" id="remove_all" type="button" value="<==="/> </td> <td width="100" align="left"> <select name="second" id="second" size="10" multiple="multiple" style="background-color:#3FC;"> <option value="选项9">选项9</option> </select> </td> </tr> </table> </div> </body> <script type="text/javascript"> //左移右 document.getElementById("add").onclick = function add() { var firstSel = document.getElementById("first"); var option = firstSel.getElementsByTagName("option"); //javascript的数组是动态数组,长度是可以变的。 //所以先取得下拉列表的长度,避免option被移走后长度变小,导致后面循环终止,出现beg var oplength=option.length; var secondSel = document.getElementById("second"); for(i=0;i<oplength;i++) { if(firstSel.selectedIndex!=-1) { secondSel.appendChild(option[firstSel.selectedIndex]); } } } document.getElementById("add_all").onclick = function addAll() { var firstSel = document.getElementById("first"); var option = firstSel.getElementsByTagName("option"); //javascript的数组是动态数组,长度是可以变的。 //所以先取得下拉列表的长度,避免option被移走后长度变小,导致后面循环终止,出现beg var oplength=option.length; var secondSel = document.getElementById("second"); for(i=0;i<oplength;i++) { secondSel.appendChild(option[0]); } } document.getElementById("first").ondblclick = function dblclick() { var secondSel = document.getElementById("second"); secondSel.appendChild(this[this.selectedIndex]); } //右移左 document.getElementById("remove").onclick = function remove() { var secondSel = document.getElementById("second"); var firstSel = document.getElementById("first"); var option = secondSel.getElementsByTagName("option"); //javascript的数组是动态数组,长度是可以变的。 //所以先取得下拉列表的长度,避免option被移走后长度变小,导致后面循环终止,出现beg var oplength=option.length; for(i=0;i<oplength;i++) { if(secondSel.selectedIndex!=-1) { firstSel.appendChild(option[secondSel.selectedIndex]); } } } document.getElementById("remove_all").onclick = function remove_all() { var secondSel = document.getElementById("second"); var firstSel = document.getElementById("first"); var option = secondSel.getElementsByTagName("option"); //javascript的数组是动态数组,长度是可以变的。 //所以先取得下拉列表的长度,避免option被移走后长度变小,导致后面循环终止,出现beg var oplength=option.length; for(i=0;i<oplength;i++) { firstSel.appendChild(option[0]); } } document.getElementById("second").ondblclick = function dblclick() { var firstSel = document.getElementById("first"); firstSel.appendChild(this[this.selectedIndex]); } </script> </html>

代码注释很详细,希望可以帮到大家。

以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章