JavaScript實現(xiàn)兩個select下拉框選項左移右移
今天沒事用js寫了一個用兩個select下拉框之間能互相移動元素的小程序,剛剛才開始學(xué)javascript還有很多優(yōu)化的地方。
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中的數(shù)組翻轉(zhuǎn)
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>
上面是javascript代碼,下面是html加css代碼。
Html代碼
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標(biāo)題文檔</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="現(xiàn)代">現(xiàn)代</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>
源碼下載:js實現(xiàn)下拉框元素互相移動
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js實現(xiàn)Select下拉框具有輸入功能的方法
- JS操作select下拉框動態(tài)變動(創(chuàng)建/刪除/獲取)
- JavaScript實現(xiàn)將數(shù)組數(shù)據(jù)添加到Select下拉框的方法
- Javascript select下拉框操作常用方法
- JS Select下拉框(支持輸入模糊查詢)
- javascript中select下拉框的用法總結(jié)
- JavaScript實現(xiàn)向select下拉框中添加和刪除元素的方法
- js實現(xiàn)可輸入可選擇的select下拉框
- jquery及原生js獲取select下拉框選中的值示例
- JavaScript實現(xiàn)獲取select下拉框中第一個值的方法
相關(guān)文章
js函數(shù)setTimeout延遲執(zhí)行的簡單介紹
設(shè)置指定的JS函數(shù)在指定的時間后執(zhí)行,可以利用setTimeout()函數(shù)。2013-07-07
js獲取當(dāng)前頁的URL與window.location.href簡單方法
下面小編就為大家?guī)硪黄猨s獲取當(dāng)前頁的URL與window.location.href簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
js如何實現(xiàn)小程序wx.arrayBufferToBase64方法實例
這篇文章主要給大家介紹了關(guān)于js如何實現(xiàn)小程序wx.arrayBufferToBase64方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-03-03
解決WebStorm?2022.3.x?無法識別?Element?UI?2.15.11?新版本中的?el-
這篇文章主要介紹了解決?WebStorm?2022.3.x?無法識別?Element?UI?2.15.11?新版本中的?el-xxx?標(biāo)簽問題,本文給大家分享兩種解決方案,需要的朋友可以參考下2023-01-01
JS前端開發(fā)之exec()和match()的對比使用
match()方法可在字符串內(nèi)檢索指定的值,或找到一個或多個正則表達(dá)式的匹配,下面這篇文章主要給大家介紹了關(guān)于JS前端開發(fā)之exec()和match()的對比使用的相關(guān)資料,需要的朋友可以參考下2022-09-09
解決layui下拉框監(jiān)聽問題(監(jiān)聽不到值的變化)
今天小編就為大家分享一篇解決layui下拉框監(jiān)聽問題(監(jiān)聽不到值的變化),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09

