今天闲着没事用js写了一个用两个select下拉框之间能互相移动元素的小程序,刚刚才开始学javascript还有很多优化的地方。
<script type="text/javascript">
/**选中的元素向右移动**/
function moveRight()
{
//得到第一个select对象
var selectElement = document.getElementById("first");
var optionElements = selectElement.getElementsByTagName("option");
var len = optionElements.length;
if(!(selectElement.selectedIndex==-1)) //如果没有选择元素,那么selectedIndex就为-1
{
//得到第二个select对象
var selectElement2 = document.getElementById("secend");
// 向右移动
for(var i=0;i<len ;i++)
{
selectElement2.appendChild(optionElements[selectElement.selectedIndex]);
}
} else
{
alert("您还没有选择需要移动的元素!");
}
}
//移动所有的到右边
function moveAll()
{
//得到第一个select对象
var selectElement = document.getElementById("first");
var optionElements = selectElement.getElementsByTagName("option");
var len = optionElements.length;
//alert(len);
//将第一个selected中的数组翻转
var firstOption = new Array();
for(var k=len-1;k>=0;k--)
{
firstOption.push(optionElements[k]);
}
var lens = firstOption.length;
//得到第二个select对象
var selectElement2 = document.getElementById("secend");
for(var j=lens-1;j>=0;j--)
{
selectElement2.appendChild(firstOption[j]);
}
}
//移动选中的元素到左边
function moveLeft()
{
//首先得到第二个select对象
var selectElement = document.getElementById("secend");
var optionElement = selectElement.getElementsByTagName("option");
var len = optionElement.length;
//再次得到第一个元素
if(!(selectElement.selectedIndex==-1))
{
var firstSelectElement = document.getElementById("first");
for(i=0;i<len;i++)
{
firstSelectElement.appendChild(optionElement[selectElement.selectedIndex]);//被选中的那个元素的索引
}
}else
{
alert("您还没有选中要移动的项目!");
}
}
//全部向左移
function moveAllLeft()
{
var selectElement = document.getElementById("secend");
var optionElements = document.getElementsByTagName("option");
var len = optionElements.length;
var optionEls = new Array();
for(var i=len-1;i>=0;i--)
{
optionEls.push(optionElements[i]);
}
var lens = optionEls.length;
var firstSelectElement = document.getElementById("first");
for(var j=lens-1;j>=0;j--)
{
firstSelectElement.appendChild(optionEls[j]);
}
}
</script>
<hr/>
上面是javascript代码,下面是html加css代码。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
.select_move { margin:0px auto; width:206px; height:140px; margin-top:300px;}
.select_move_1 { float:left;}
.select_move_2 { float:left;}
.select_move_3 { float:left;}
</style>
</head>
<body>
<div class="select_move">
<div class="select_move_1">
<select name="first" size="10" id="first" multiple="multiple">
<option value="宝马">宝马</option>
<option value="丰田">丰田</option>
<option value="奥迪">奥迪</option>
<option value="凯迪拉克">凯迪拉克</option>
<option value="现代">现代</option>
<option value="奔驰">奔驰</option>
<option value="法拉利">法拉利</option>
</select>
</div>
<div class="select_move_2">
<input type="button" value="------>" onclick="moveRight()"/><br />
<input type="button" value="===>" onclick="moveAll()" /><br />
<input type="button" value="<------" onclick="moveLeft()"/><br />
<input type="button" value="<===" onclick="moveAllLeft()"/>
</div>
<div class="select_move_3">
<select size="10" id="secend" multiple="multiple">
</select>
</div>
</div>
</body>
</html>
分享到:
相关推荐
根据提供的文件内容,我们可以提炼出以下关于JavaScript实现两个select下拉框选项左移右移的知识点: 1. 通过JavaScript实现两个下拉框间选项的转移是常见的前端技术应用场景。它允许用户通过简单的操作来移动元素...
总结起来,实现“两个select下拉框中的数据相互移动”涉及到HTML、CSS和JavaScript的基本知识,以及对用户交互的响应和处理。实际开发中还需要根据具体需求进行调整和优化,确保用户体验的流畅和功能的完善。
这就是"select下拉框添加搜索功能"这个知识点的核心所在。 在`select`下拉框中实现搜索功能,一般有两种常见方法:一种是原生HTML和JavaScript的实现,另一种是借助第三方库,如本例中的`jquery.editable-select`。...
根据给定的文件标题、描述、标签...以上函数展示了如何使用JavaScript全面地操作HTML中的`<select>`元素,包括添加、删除、移动和调整选项位置,为Web开发者提供了丰富的工具箱,以实现更复杂和交互性更强的表单设计。
这就是一个简单的JavaScript实现,允许用户在两个Select下拉框之间移动选择的值。在实际项目中,可能还需要处理更多细节,如错误处理、验证、用户反馈等,但以上代码已经提供了一个基础框架。如果你在项目中使用了像...
在网页设计中,有时我们需要实现两个`<select>`下拉框之间的内容互换功能,这在数据操作或者用户交互中可能会很有用。本教程将基于VS2008环境,探讨如何实现这一功能。 首先,我们需要理解`<select>`元素在HTML中的...
利用js完成两个下拉列表中元素的移动,而且可以实现自身下拉列表元素的上下移动!
在本文中,我们将深入探讨如何使用JavaScript实现下拉框(Select元素)内容的左右移动效果。这个效果通常用于用户界面中,让用户能够方便地在两个下拉框之间转移选项,例如选择并添加或移除项目。我们将分析提供的...
本项目"jQuery Select下拉框美化表单"正是这样一个解决方案,它基于`jquery.selectlist.js`和`jquery-1.9.1.min.js`两个JavaScript文件,旨在为招聘网站等需要展示学历和薪资范围等选项的场景提供更优雅的用户体验。...
xm-select是layui扩展的一个强大组件,专为实现多选下拉框功能而设计。这个组件以其简洁的API和美观的样式,极大地提升了用户体验,简化了开发者的工作。 在“layui-多选下拉框-xm-select”中,源码主要分为两大...
本文将深入探讨“jquery下拉框左右选择”这一主题,它是一种交互式用户界面元素,通常用于在两个列表之间移动选项,帮助用户进行多选或排序操作。 首先,我们要明白“下拉框左右选择”的基本概念。这是一种UI设计...
两个`<select>`元素分别代表左右两侧的下拉框,可以使用`<option>`标签来添加各个选项。同时,还需要添加两个按钮,分别表示“向右移动”和“向左移动”。HTML代码示例如下: ```html <select multiple id=...
本主题主要关注如何使用jQuery实现黑白两种不同样式的响应式手机下拉框。 首先,我们需要理解jQuery的基础。jQuery是一个轻量级的JavaScript库,它简化了DOM操作、事件处理和动画制作。使用jQuery,我们可以编写更...
"左右移动下拉框插件Multiselect"是一种用于网页交互设计的工具,它允许用户在两个下拉框之间通过拖动或点击按钮来选择和移动选项,常用于多选场景,如筛选、分类等。这个插件提高了用户体验,使得用户在处理大量可...
本文将深入探讨如何使用jQuery实现一个类似Struts2中的`optiontransferselect`标签的功能,即在两个下拉框之间进行选项的互选和上下移动。 首先,我们需要了解`optiontransferselect`的基本概念。在Struts2框架中,...
### JavaScript 实现两个多选下拉框数据交互 在网页开发中,经常需要用到两个多选下拉框(类似于 ListBox)来实现数据的选择与传递。这种交互方式常见于用户界面设计中,例如在“人员选择”场景中,允许用户将一个...
在Angular中,可以使用ng-select或者ng-multiselect-dropdown这样的第三方库来实现下拉框搜索多选。ng-select是一个轻量级且高度可定制的组件,它支持搜索、分组、多选等功能。同样,ng-multiselect-dropdown提供了...
Layui的核心在于它的模块化设计,包括layui.all.js(包含了所有模块)和layui.css(全局样式),在项目中引入这两个文件即可开始使用Layui的各种组件。此外,我们还需要了解layui的事件驱动模型,通过监听DOM元素的...