JavaScript 下拉框 左边添加至右边

关于如何实现右边下拉框中选项的排序一时没有好的解决方法,等想到了回来补充
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="jquery-3.3.1.min.js"></script>
<style>
#select1 {
margin-left: 20px;
}
#select2{
margin-left: 20px;
}
span{
display: block;
border: 1px solid orange;
width: 135px;
background-color: coral;
color: whitesmoke;
box-shadow: 1px 1px 10.1px salmon;
margin-bottom: 5px;
margin-top: 5px;
cursor: pointer;
}
.container2{
position: absolute;
left:200px;
top: 8px;
}
</style>
</head>
<body>
<div class="container1">
<select multiple name="" id="select1" style="width:100px;height:150px;">
<!-- multiple:使下拉框能够同时拖选多个选项 -->
<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>
<option value="9">9</option>
<option value="10">10</option>
</select>
<div>
<span id="add">选中添加到右边>></span>
<span id="addAll">全部添加到右边>></span>
</div>
</div>
<div class="container2">
<select multiple name="" id="select2" style="width:100px;height:150px;">
</select>
<div>
<span id="remove">选中删除到左边<<</span>
<span id="removeAll">全部删除到左边<<</span>
</div>
</div>
<script>
window.onload = function(){
var addBtn = document.getElementById("add");
var addAll = document.getElementById("addAll");
var container = document.getElementsByClassName("container1")[0];
var options = container.getElementsByTagName("option");
var select1 = document.getElementById("select1");
var select2 = document.getElementById("select2");
var optSore = [];
var valueStore = [];
console.log(options);
function addToRight(){
var i = 0;
for(i=0;i<options.length;i++){
if(options[i].selected){//别用.getAttrbute("selected")
// valueStore.push(options[i].value);
// optSore.push(options[i]);
console.log(options[i]);
var move = select1.removeChild(options[i]);
console.log(move);
select2.appendChild(move); i = i - 1;
//@解决了!options是左边容器中的选项列表,每次移除一个选项后,紧跟在后面的选项就会上移,
//所以要将这里的i前移一位 明天补个示意图
}
}
console.log(optSore,valueStore);
}
function addAllOpt(){
var i = 0;
for(i;i<options.length;i++){
optSore.push(options[i]);
valueStore.push(options[i].value);
}
console.log(optSore,valueStore);
} addBtn.addEventListener("click",addToRight,false);
addAll.addEventListener("click",addAllOpt,false);
}
</script>
<script>
// $(function(){
// $("#add").click(function(){
// var $selectedOpt = $("#select1 option:selected");
// var $remove = $selectedOpt.remove();//我惊了 你呢 原生js有这种操作吗
// $remove.prop("selected",false)//不然添加过去后会停留在被选中的状态
// .appendTo("#select2");
// });
// $("#addAll").click(function(){
// var $removeAll = $("#select1 option").remove();
// $removeAll.appendTo("#select2");
// })
// });
</script>
</body>
</html>
JavaScript 下拉框 左边添加至右边的更多相关文章
- JavaScript向select下拉框中添加和删除元素
JavaScript向select下拉框中添加和删除元素 1.说明 a 利用append()方法向下拉框中添加元素 b 利用remove()方法移除下拉框中最后一个元素 2.设计源码 < ...
- Web 1三级联动 下拉框 2添加修改删除 弹框
Web 三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...
- 通过jquery来实现文本框和下拉框动态添加效果,能根据自己的需求来自定义最多允许添加数量,实用的jquery动态添加文本框特效
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 谈谈如何给下拉框option添加点击事件?
我们在用到下拉列表框select时,需要对选中的<option>选项触发事件,其实<option>本身没有触发事件方法,我们只有在select里的onchange方法里触发. ...
- 纯原生javascript下拉框表单美化实例教程
html的表单有很强大的功能,在web早期的时候,表单是页面向服务器发起通信的主要渠道.但有些表单元素的样式没办法通过添加css样式来达到满意的效果,而且不同的浏览器之间设置的样式还存在兼容问题,比如 ...
- JavaScript下拉框去除重复内容
下拉框去除重复内容 <script type="text/javascript" src="http://www.joleye.com/libraries/java ...
- 实现antd下拉框动态添加内容(与数据库交互)
antd下拉控件的动态内容添加(与数据库交互) antd这个框架给开发带来了极大的方便,但同时,我认为还有一些不方便的地方:常用的逻辑在文档中没有体现.需要前端开发经验的人才能快速上手,而我刚刚接触这 ...
- jQuery插件实现select下拉框左右选择_交换内容(multiselect2side)
效果图: 使用jQuery插件---multiselect2side做法: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio ...
- select下拉框左右变换
效果图: 使用jQuery插件---multiselect2side做法: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...
随机推荐
- Java的课堂实验
题目是:用Aplet创建一个小程序,使得当你的鼠标经过图片时,放歌~ 其中,补充知识:1.MouseMotionListener这个和MouseListener这两个监听器要了解以下 2.Aplet这 ...
- bootstrap--------bootstrap table
bootstrap table 显示行号 <th rowspan="2" data-field="index" data-formatter=" ...
- Codeforces Round #324 (Div. 2) (哥德巴赫猜想)
题目:http://codeforces.com/problemset/problem/584/D 思路: 关于偶数的哥德巴赫猜想:任一大于2的偶数都可写成两个素数之和. 关于奇数的哥德巴赫猜想:任一 ...
- wed
先有一个无后缀的flag 文件 第一次改成 TXT 收索FLAG 得到了一段 flag.txt f返回到第一次修改后缀 改成RAR 打开RAR 发现一个 flag.txt 的文件 打开,即得到 fla ...
- JavaScript实现本地图片上传前进行裁剪预览
本项目支持IE8+,测试环境IE8,IE9,IE10,IE11,Chrome,FireFox测试通过 另:本项目并不支持Vue,React等,也不建议,引入JQuery和Vue.React本身提倡的开 ...
- linux rpm方式安装mysql
01.搜索 mysql linux 网盘地址 http://pan.baidu.com/s/1qYOC6cs 02.把下载好的mysql 使用 xftp传到 linux中 software 文件 ...
- 解决PLSQL报错及配置InstantClient方法
某次,在使用PLSQ链接数据库的时候,出现了错误如下: 然后点击窗口上面的 工具 –> 首选项 –> Oracle –> 连接 ,然后看到这样的窗口: 用电脑根据上面的地址搜索不到 ...
- s21day08 python笔记
s21day08 python笔记 一.现阶段所有内容回顾 以后把每天的笔记直接补充到python学习 二.进制 对于计算机而言无论是文件存储 / 网络传输输入本质上都是:二进制(0101010101 ...
- 洛谷1101:单词方阵(DFS)
题目描述 给一n×nn \times nn×n的字母方阵,内可能蕴含多个"yizhong"单词.单词在方阵中是沿着同一方向连续摆放的.摆放可沿着888个方向的任一方向,同一单词摆放 ...
- django的静态文件的引入
django的静态文件的引入 1.路径配置 在templates文件夹的同级目录下新建static文件夹 在setting里面写上STATICFILES_DIRS = [os.path.join(BA ...