1. 程式人生 > >【javaweb】JS實現商品的左右選擇

【javaweb】JS實現商品的左右選擇

實現效果:

步驟分析: 1. 確定事件: 點選事件 :onclick事件
                   2. 事件要觸發函式 selectOne
                   3. selectOne要做一些操作
                    (將左邊選中的元素移動到右邊的select中)
                    1. 獲取左邊Select中被選中的元素
                    2. 將選中的元素新增到右邊的Select中就可以 
               

原始碼如下:

<html>
	<head>
		<meta charset="utf-8" />
		<title>商品的左右選擇</title>
		<script>
			function selectOne(){
				//獲取左邊select全部option元素
				var leftSelect=document.getElementById("leftSelect");
				var options=leftSelect.options;
				//獲取右邊select
				var rightSelect=document.getElementById("rightSelect");
				//遍歷找出被選中的option
				for(var i=0;i<options.length;i++){
					var option1=options[i];
					//selected是option的屬性,表示若當前選項被選中則返回true
					if(option1.selected){
						//將選中的元素新增到右邊的Select中就可以
						rightSelect.appendChild(option1);
					}
				}
			}
			function selectAll(){
				//獲取左邊select全部option元素
				var leftSelect=document.getElementById("leftSelect");
				var options=leftSelect.options;
				//獲取右邊select
				var rightSelect=document.getElementById("rightSelect");
				//遍歷把全部option都移到右邊select
				for(var i=options.length-1;i>=0;i--){
						rightSelect.appendChild(options[i]);
				}
			}
		</script>
	</head>
	<body>
		<table border="1px" width="400px">
			<tr>
				<td>分類名稱</td>
				<td>
					<input type="text" placeholder="手機數碼" />
				</td>
			</tr>
			<tr>
				<td>分類描述</td>
				<td>
					<input type="text" placeholder="這裡面都是手機數碼" />
				</td>
			</tr>
			<tr>
				<td>分類商品</td>
				<td>
					<!-- 左邊下拉欄 -->
					<div style="float: left;">
						已有商品<br />
						<!-- multiple屬性是使下拉列表全部顯示 -->
						<select multiple="multiple" id="leftSelect">
							<option>蘋果6</option>
							<option>華為</option>
							<option>小米</option>
							<option>錘子</option>
						</select>
						<br />
						<!-- &gt是轉義字元大於號的意思 -->
						<a href="#" onclick="selectOne()"> &gt;&gt; </a><br />
						<a href="#" onclick="selectAll()">&gt;&gt;&gt;</a>
					</div >
					<!-- 右邊下拉欄 -->
					<div style="float: right;">
						未有商品<br />
						<!-- multiple屬性是使下拉列表全部顯示 -->
						<select multiple="multiple" id="rightSelect">
							<option>oppo</option>
							<option>洛基亞</option>
							<option>波導</option>
							<option>魅族</option>
						</select>
						<br />
						<!-- &lt是轉義字元小於號的意思 -->
						<a href="#"> &lt;&lt; </a><br />
						<a href="#">&lt;&lt;&lt;</a>
					</div>
				</td>
			</tr>
			<tr>
				<td colspan="2" align="center">
					<input type="submit" value="提交" />
				</td>
			</tr>
		</table>
	</body>
</html>