当前位置:首页 > 技术文章 > 正文内容

web前端必学功法之一:左右移动

arlanguage1周前 (04-27)技术文章7

## web前端必学功法之一:左右移动

案例效果:

![在这里插入图片描述](
https://img-blog.csdnimg.cn/132bfce9fba8474f8ac64ed97e55ddd0.gif#pic_center)

左右移动

思路分析:

1.绑定事件:对应的按钮去绑定点击事件

2.获取选中项:获取指定下拉框被选中的选项

3.按钮类型:根据不同的按钮移动不同的选项

移动一项:获取下拉框中被选中选项的第一个

移动多项:获取下拉框被选中的选项

移动全部:获取下拉框的选项

4.移动元素:使用appendChild()方法追加元素

实现步骤:

1.获取对应的下拉框对象与下拉框中对应的选项

2.绑定指定按钮的点击事件

3.遍历下拉选项

4.判断是否被选中

5.将左侧被选中的下拉选项添加到数组中(push());

6.将数组中的数组循环设置到右侧下拉框

```html

<table align="center">

<tr>

<td>

<!--设置多选下拉框,并指定下拉框的可见项数量-->

<select id="left" multiple="multiple" size="10" style="width: 100px;">

<option>a</option>

<option>b</option>

<option>c</option>

<option>d</option>

<option>e</option>

<option>f</option>

<option>g</option>

<option>h</option>

<option>i</option>

<option>j</option>

<option>k</option>

</select>

</td>

<td>

<button id="toRight01">></button><br>

<button id="toRight02">>></button><br>

<button id="toRight03">>>></button><br>

<button id="toLeft01"><</button><br>

<button id="toLeft02">

<<</button><br>

<button id="toLeft03"><<< </button><br>

</td>

<td>

<select id="right" multiple="multiple" size="10" style="width: 100px;"></select>

</td>

</tr>

</table>

```

```javascript

这里用两种写法

js写法:

<script>

// //获取对应的下拉框对象与下拉框的选项

var leftSelect = document.getElementById("left");

var leftItems = leftSelect.children;

var rightSelect = document.getElementById("right");

var rightItems = rightSelect.children;

//用来存放需要被移动的下拉选项

var selectedItems = [];

// 将左侧下拉框中选中的选项的第一个移动到右侧

document.getElementById("toRight01").onclick = function () {

//遍历左侧所有的下拉选项

for (var i = 0; i < leftItems.length; i++) {

//判断是否被选中

if (leftItems[i].selected) {

//将循环得到的第一个被选中的选项移动到了左右

rightSelect.appendChild(leftItems[i]);

return;

}

}

}

// 将左侧下拉框中选中的选项移动到右侧

document.getElementById("toRight02").onclick = function () {

//清空数组中的数据

selectedItems = [];

//遍历左侧所有的下拉选项

for (var i = 0; i < leftItems.length; i++) {

if (leftItems[i].selected) {

//将选中的选项添加到数组中

selectedItems.push(leftItems[i]);

}

}

//将数组中的数据循环追加到右侧

for (var j = 0; j < selectedItems.length; j++) {

rightSelect.appendChild(selectedItems[j]);

}

}

// 将左侧下拉框中选中的选项移动到右侧

document.getElementById("toRight03").onclick = function () {

//清空数组中的数据

selectedItems = [];

//遍历左侧所有的下拉选项

for (var i = 0; i < leftItems.length; i++) {

//将选中的选项添加到数组中

selectedItems.push(leftItems[i]);


}

//将数组中的数据循环追加到右侧

for (var j = 0; j < selectedItems.length; j++) {

rightSelect.appendChild(selectedItems[j]);

}

}

</script>

jQuery写法:

<script>

//jQuery写法

// 将左侧选中第一个选项移动到右侧

$("#toRight01").click(function(){

//得到左侧下拉框对象,得到左侧下拉框的下拉选项,得到被选中的选项,得到第一个

$("#left option:selected:eq(0)").appendTo($("#right"));

})

// 将左侧选中选项移动到右侧

$("#toRight02").click(function(){

//得到左侧下拉框对象,得到左侧下拉框的下拉选项,得到被选的选项

$("#left option:selected").appendTo($("#right"));

})

// 将左侧选项移动到右侧

$("#toRight03").click(function(){

//得到左侧下拉框对象,得到左侧下拉框的下拉选项,得到被选中的选项,得到第一个

$("#left option").appendTo($("#right"));

})



</script>

这里我只写了从左边移动到右边,右边移动到左边就以此类推。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/4176.html

分享给朋友:

“web前端必学功法之一:左右移动” 的相关文章

如何在 CentOS 8 上安装 Nginx centos8.0安装教程

如何在 CentOS 8 上安装 NginxNginx发音为“ engine x”,是一种开源的高性能HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载。它可用作HTTP和非HTTP服务器的独立Web服务器,负载平衡器,内容缓存和反向代理。与Apache[1]相比,Nginx可以...

Nginx路由匹配规则location的小总结

使用过nginx的同学都知道,在nginx配置文件中通过location配置路由转发规则,配置语法为:location [=|~|~*|^~] /uri/ { ... }中括号中为路由匹配符号,常见的有:1 =:精确匹配 2 ^~:精确前缀匹配 3 ~:区分...

Linux 系统安装 Nginx

Linux 系统安装 NginxCentOS 7 Nginx 源代码编译安装# 官网下载最新版 https://nginx.org/en/download.html # 系统安装必备组件: yum install gcc gcc-c++ pcre pcre-devel zlib-devel ope...

windows下的nginx安装和使用

.1 去官网下载相应的安装包:http://nginx.org/en/download.html1.2 解压后进入PowerShell(按住“shift”+“鼠标右键”)窗口,进入到nginx目录,输入start nginx.exe 进行nginx的安装安装成功后,在“任务管理器”中会显示“ngin...

logstash+ES+kibana搭建日志收集分析系统

日志监控和分析在保障业务稳定运行时,起到了很重要的作用,不过一般情况下日志都分散在各个生产服务器,且开发人员无法登陆生产服务器,这时候就需要一个集中式的日志收集装置,对日志中的关键字进行监控,触发异常时进行报警,并且开发人员能够查看相关日志。logstash+elasticsearch+kibana...

windows 搭建php运行环境(2024年)

由于需要运行一套cms系统,需要运行php环境,现在开始记录搭建步骤:1、分别下载nginx和php包,然后解压到自己喜欢目录下面2、这里我们使用nginx的反向代理模式的FastCGI server,修改nginx.conf,然后启动或重启nginx。location ~ \.php$ {...