JS控制下拉列表左右選擇實例代碼
使用JS控制下拉列表左右選擇
需求分析
在我們的分類管理中,我們要能夠去修改我們的分類信息,當(dāng)我們一點修改的時候,跳轉(zhuǎn)到一個可以編輯的頁面,這里面能夠修改分類的名稱,分類的描述,以及分類的商品
技術(shù)分析
ondblclick="selectOne()":雙擊事件
select標(biāo)簽的屬性multiple="multiple":
代碼實現(xiàn)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--
步驟分析
1. 確定事件: 點擊事件 :onclick事件
2. 事件要觸發(fā)函數(shù) selectOne
3. selectOne要做一些操作
(將左邊選中的元素移動到右邊的select中)
1. 獲取左邊Select中被選中的元素
2. 將選中的元素添加到右邊的Select中就可以
-->
<script>
function selectOne(){
//1. 獲取左邊Select中被選中的元素
var leftSelect = document.getElementById("leftSelect");
var options = leftSelect.options;
//找到右側(cè)的Select
var rightSelect = document.getElementById("rightSelect");
//遍歷找出被選中的option
for(var i=0; i < options.length; i++){
var option1 = options[i];
if(option1.selected){
//2. 將選中的元素添加到右邊的Select中就可以
rightSelect.appendChild(option1);
}
}
}
//將左邊所有的商品移動到右邊
function selectAll(){
//1. 獲取左邊Select中被選中的元素
var leftSelect = document.getElementById("leftSelect");
var options = leftSelect.options;
//找到右側(cè)的Select
var rightSelect = document.getElementById("rightSelect");
//遍歷找出被選中的option
for(var i=options.length - 1; i >=0; i--){
var option1 = options[i];
rightSelect.appendChild(option1);
}
}
</script>
</head>
<body>
<table border="1px" width="400px">
<tr>
<td>分類名稱</td>
<td><input type="text" value="手機數(shù)碼"/></td>
</tr>
<tr>
<td>分類描述</td>
<td><input type="text" value="這里面都是手機數(shù)碼"/></td>
</tr>
<tr>
<td>分類商品</td>
<td>
<!--左邊-->
<div style="float: left;">
已有商品<br />
<select multiple="multiple" id="leftSelect" ondblclick="selectOne()">
<option>華為</option>
<option>小米</option>
<option>錘子</option>
<option>oppo</option>
</select>
<br />
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="selectOne()"> >> </a> <br />
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="selectAll()"> >>> </a>
</div>
<!--右邊-->
<div style="float: right;">
未有商品<br />
<select multiple="multiple" id="rightSelect">
<option>蘋果6</option>
<option>腎7</option>
<option>諾基亞</option>
<option>波導(dǎo)</option>
</select>
<br />
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > << </a> <br />
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > <<< </a>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交"/>
</td>
</tr>
</table>
</body>
</html>
實例補充:
<!DOCTYPE html>
<html>
<head>
<title>JavaScript下拉列表左右選擇</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" >
function chooseToRight()
{
var op=document.getElementById("s1").getElementsByTagName("option");
var select2=document.getElementById("s2");
var k=op.length;
for(var i=0;i<k;i++)
{
if(op[i].selected==true)
{
select2.appendChild(op[i]);
k--;i--; //這里要特別注意?。?!因為appendChild相當(dāng)于剪切,所以每次循環(huán)之后要執(zhí)行k--,i--
}
}
}
function chooseToLeft()
{
var op=document.getElementById("s2").getElementsByTagName("option");
var select2=document.getElementById("s1");
var k=op.length;
for(var i=0;i<k;i++)
{
if(op[i].selected==true)
{
select2.appendChild(op[i]);
k--;i--;
}
}
}
function allToLeft()
{
var op=document.getElementById("s2").getElementsByTagName("option");
var select2=document.getElementById("s1");
var k=op.length;
for(var i=0;i<k;i++)
{
select2.appendChild(op[i]);
k--;i--;
}
}
function allToRight()
{
var op=document.getElementById("s1").getElementsByTagName("option");
var select2=document.getElementById("s2");
var k=op.length;
for(var i=0;i<k;i++)
{
select2.appendChild(op[i]);
k--;i--;
}
}
</script>
</head>
<body>
<div style="float: left">
<select id="s1" multiple="multiple" style="width: 120px;height: 150px">
<option>AAAAAAA</option>
<option>BBBBBBB</option>
<option>CCCCCCC</option>
<option>DDDDDDD</option>
<option>EEEEEEE</option>
</select><br><br>
<input type="button" value="選中添加到右邊" onclick="chooseToRight();"/><br><br>
<input type="button" value="全部添加到右邊" onclick="allToRight();"/><br>
</div>
<div style="float: left">
<select id="s2" multiple="multiple" style="width: 120px;height: 150px">
<option>1111111</option>
<option>2222222</option>
<option>3333333</option>
<option>4444444</option>
<option>5555555</option>
</select><br><br>
<input type="button" value="選中添加到左邊" onclick="chooseToLeft();"/><br><br>
<input type="button" value="全部添加到左邊" onclick="allToLeft();"/><br>
</div>
</body>
</html>
到此這篇關(guān)于JS控制下拉列表左右選擇實例代碼的文章就介紹到這了,更多相關(guān)如何使用JS控制下拉列表左右選擇內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 純js代碼生成可搜索選擇下拉列表的實例
- jQuery實現(xiàn)在下拉列表選擇時獲取json數(shù)據(jù)的方法
- js使下拉列表框可編輯不止是選擇
- javascript實現(xiàn)通過拼音首字母快速選擇下拉列表
- js實現(xiàn)下拉列表選中某個值的方法(3種方法)
- jquery用ajax方式從后臺獲取json數(shù)據(jù)后如何將內(nèi)容填充到下拉列表
- jquery+json 通用三級聯(lián)動下拉列表
- javaScript年份下拉列表框內(nèi)容為當(dāng)前年份及前后50年
- js獲取下拉列表框<option>中的value和text的值示例代碼
- JavaScript實現(xiàn)下拉列表選擇框
相關(guān)文章
JavaScript實現(xiàn)為input與textarea自定義hover,focus效果的方法
這篇文章主要介紹了JavaScript實現(xiàn)為input與textarea自定義hover,focus效果的方法,可實現(xiàn)根據(jù)鼠標(biāo)事件動態(tài)改變input與textarea樣式的功能,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08
javascript文本框內(nèi)輸入文字倒計數(shù)的方法
這篇文章主要介紹了javascript文本框內(nèi)輸入文字倒計數(shù)的方法,涉及javascript針對鍵盤事件的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02
javascript createElement()創(chuàng)建input不能設(shè)置name屬性的解決方法
今天在使用document.createElement()動態(tài)創(chuàng)建input時,發(fā)現(xiàn)不能為其name賦值,以下是測試代碼。2009-10-10
javascript基本數(shù)據(jù)類型和對象類型歸檔問題解析
這篇文章主要介紹了javascript基本數(shù)據(jù)類型和對象類型歸檔,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03
uni-app小程序沉浸式導(dǎo)航實現(xiàn)的全過程
在跨端項目開發(fā)中,uniapp是個不錯的框架,下面這篇文章主要給大家介紹了關(guān)于uni-app小程序沉浸式導(dǎo)航實現(xiàn)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-10-10

