JavaScript实现双下拉列表数据交互

作者:流萤

时间:2026-10-24

浏览:184

本文介绍如何使用JavaScript实现两个下拉列表之间的数据交互。通过HTML设置多选属性,结合按钮事件监听,利用appendChild方法将选中项从一个列表移动至另一个列表。代码包含完整的前端实现逻辑,适用于需要双向数据选择的前端场景。

文章目录

JavaScript实现双下拉列表数据交互

本文分享了一个使用JavaScript实现下拉列表选择框的完整示例,供读者参考学习。

页面结构构建

首先,需要构建一个基础的HTML页面结构。

多选与按钮功能说明

页面中包含两个下拉选择框,均设置了multiple="multiple"属性,以支持多行显示和多选功能。此外,页面还包含四个按钮,用于触发相应的交互事件。

多选操作提示

提示:在多选状态下,用户可以按住Ctrl键或Shift键来点击选项,以实现多项选择。

代码实现

具体实现代码如下:


<html >
 <head>
   
  <title>HTML示例</title>
  <style type = "text/css">
  div#left{
 float:left;
  }
 
  </style>
 </head>
 <body>
 <div id="left" ">
  <div >
    <select id="select1" multiple="multiple" style="width:100px;height:1ss00px">
   <option>AAAAAA</option>
   <option>BBBBBB</option>
   <option>CCCCCC</option>
   <option>DDDDDD</option>
   <option>EEEEEE</option>
    </select><br/>
    </div>
 
    <div>
    <input type="button" value="选中添加到右边" onclick="selToRight()"/><br/>
    <input type="button" value="全部添加到右边" onclick="selAllRight()"/>
    </div>
   </div>
 
 <div id="right">
    <div >
    <select id="select2" multiple="multiple" style="width:100px;height:1ss00p">
  <option>FFFFFF</option>
    </select><br/>
    </div>
 
    <div>
    <input type="button" value="选中添加到左边" onclick="selToLeft()"/><br/>
    <input type="button" value="全部添加到左边" onclick="selAllLeft()"/>
    </div>
 </div>
 
 </body>
 <script type="text/javascript">
// 选中添加到左边
function selToLeft(){
 //获取左边select对象
  var s1 = document.getElementById("select1");
  //获取右边select对象
  var s2 = document.getElementById("select2");
  //得到左边select对象中的每一个option
  var ops = s2.getElementsByTagName("option");
  for(var i4=0;i4<ops.length;i4++){
   op4=ops[i4];
   if(op4.selected==true){
   s1.appendChild(op4);
   i4--;
   }
  }
}
 
 //全部添加到左边
  function selAllLeft(){
  //获取左边select对象
  var s1 = document.getElementById("select1");
  //获取右边select对象
  var s2 = document.getElementById("select2");
  //得到左边select对象中的每一个option
  var ops = s2.getElementsByTagName("option");
  for(var i3=0;i3<ops.length;i3++){
   op3=ops[i3];
   s1.appendChild(op3);
   i3--;
  }
 }
 //全部添加到右边
  function selAllRight(){
  //获取左边select对象
  var s1 = document.getElementById("select1");
  //获取右边select对象
  var s2 = document.getElementById("select2");
  //得到左边select对象中的每一个option
  var ops = s1.getElementsByTagName("option");
  for(var i2=0;i2<ops.length;i2++){
   op2=ops[i2];
   s2.appendChild(op2);
   i2--;
  }
 }
  //选中添加到右边
 function selToRight(){
  /*
   步骤:
   1.获取select里面的option
    -getElementByTagName()-返回一个数组
    -遍历数组,得到每一个option
   2.判断option是否被选中
    -属性selected,判断是否被选中
     -selected=true;选中
     -selected=false;未选中
   3.如果选中,把选中的添加到右边
   4.得到select2
   5.添加选择的部分
    -appendChild()方法
  */
  //获取左边select对象
  var s1 = document.getElementById("select1");
  //获取右边select对象
  var s2 = document.getElementById("select2");
  //得到左边select对象中的每一个option
  var ops = s1.getElementsByTagName("option");
  //遍历ops数组得到每一个option选中状态
  for(var i1=0;i1<ops.length;i1++){
   op1 = ops[i1];
   //判断每一个option中selected属性是否选中
   if(op1.selected == true){
    //如果选中,添加到右边select中
     //-使用appendChild()方法
    s2.appendChild(op1);
    //每次添加都会使数组长度减一,i1++后长度出现异常,所以我们要--;
    i1--;
   }
  }
 }
 
   </script>
 
</html>

效果展示

运行后的效果如下图所示:

JavaScript实现双下拉列表数据交互

以上就是本文关于JavaScript实现下拉列表选择框的全部内容,希望能为读者的学习提供有益的帮助。欢迎大家继续关注本站获取更多技术分享。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章