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特殊抽象类-接口
- 浅谈URI和URL
URI(Uniform Resource Identifier)字面上的意思是,统一资源标示符 URL(Uniform Resource Locator),统一资源定位符 光从字面上的意思,这个2个东 ...
- cat语法
语法格式 cat [-AbeEnstTuv] [--help] [--version] fileName 参数说明: -n 或 --number:由 1 开始对所有输出的行数编号. -b 或 --nu ...
- vscode 完全支持zeng code的写法
一.快速编写HTML代码 1. 初始化 HTML文档需要包含一些固定的标签,比如<html>.<head>.<body>等,现在你只需要1秒钟就可以输入这些标签. ...
- 剑指Offer 39. 平衡二叉树 (二叉树)
题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 题目地址 https://www.nowcoder.com/practice/8b3b95850edb4115918ecebdf1b4d222 ...
- 【webdriver自动化】Python数据驱动工具DDT
一.Python数据驱动工具ddt 1. 安装 ddt pip install ddt DDT是 “Data-Driven Tests”的缩写 资料:http://ddt.readthedocs.i ...
- DAX创建带有过滤器的超链接
在这篇文章中,我们将创建一个DAX公式,根据报表中的过滤器生成超链接. 该度量包含2个部分,第一部分是使用DAX生成目标报告的正确URL,第二部分是将过滤器传递给该报告. 浏览器支持的MAX网址长度定 ...
- 关于C#中break和continue的认识
1.在昨天我在做循环处理的时候,遇到了break和continue的使用问题,今天来总结了一下, break: for (int i=0;i<5;i++) { a++; if(a==1) bre ...
- 本地Debug Asp.net MVC 无法加载css与js
运行一个从网上download的一个MVC项目,运行的时候无法显示样式,js也报错. 检查路径也没有问题,后来在配置中把其中的一段配置去掉 <staticContent> <!-- ...
- 03bootstrap_表格
03bootstrap_表格 1.边框线表格:table,table-striped,table-bordered 2.紧缩表格:table table-hover table-condensed 文 ...