您好,欢迎访问一九零五行业门户网

JS实现左右列表互相调换功能

这次给大家带来js实现左右列表互相调换功能,js实现左右列表互相调换的注意事项有哪些,下面就是实战案例,一起来看一下。
实现功能:
1.左边的下拉框内容添加到右边的下拉框,支持多选移动,且同时将右边的下拉框对象移除;
2.支持列表中项目上下位置的移动;
3.效果图如下:
html代码
<html>  <head>  <title>选择下拉菜单</title>  <meta http-equiv="content-type" content="text/html; charset=gb2312">  <meta name="description" content="power by hill">  </head>  <body>  <p>选定一项或多项然后点击添加或移除(按住shift或ctrl可以多选),或在选择项上双击进行添加和移除。</p>  <form method="post" name="myform">  <table border="0" width="300">  <tr>  <td width="40%">  <select style="width:100%" 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>  </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:100%" 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); ii=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>
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
eltablecolumn扩展方法详解
vue操作自定义动态组件方法详解
以上就是js实现左右列表互相调换功能的详细内容。
其它类似信息

推荐信息