角色处理界面操作

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>水果选择</title>
	<style>
	select {
		width: 300px;
		height: 300px;
		color: block;
		background-color: lightblue;
	}
	</style>
</head>
<body>
	<!-- multiple = "multiple" 设置选项可以多选,不设置不可多选-->
	<select id="all" multiple = "multiple">
		<option >苹果</option>
		<option >桔子</option>
		<option >橙子</option>
		<option >西瓜</option>
		<option >水蜜桃</option>
	</select>
	<input type="button" id="btn1" value=">>" />
	<input type="button" id="btn2" value="<<" />
	<input type="button" id="btn3" value=">" />
	<input type="button" id="btn4" value="<" />
	<select id="select" multiple = "multiple"></select>
	<script>
	function $el(element){
		return document.getElementById(element);
	}
	var all =$el("all");
	var select =$el("select");
	
	$el("btn1").onclick = function() {
		// for(var i = all.children.length-1; i>=0; i--) 必须这样写,不能从0开始循环加,因为appendChlid后,左边的option的索引值会对应的改变。比如说修改后,左边的苹果的索引值为0 桔子索引值为1.但是进行过一次appendChild之后,桔子的索引值就变为0
		// for(var i = all.children.length-1; i>=0; i--){
		// 	var option = all.children[i];
		// 	select.appendChild(option);
		// 	// 此步骤完成后,选项的顺序反了
		// }
		    var allLen = all.children.length;
			for(var i = 0;i<allLen; i++){
			console.log(i);
			var option = all.children[0];
			select.appendChild(option);
		}
	}

	$el("btn2").onclick = function() {
		var selLen = select.children.length;
		for(var i = 0;i<selLen; i++){
			console.log(i);
			var option = select.children[0];
			all.appendChild(option);
		}
	}
	$el("btn3").onclick = function() {
		var allLen = all.children.length;
		var optSel = [];
		for(var i = 0;i<allLen; i++){
			//判断如果选项被选中个,就放到数组中
           if(all.children[i].selected){
           		optSel.push(all.children[i]);
                //放到数组后,将节点的状态修改为未选中,主要是防止添加到新select中后,此项还保留循环中的状态

           		all.children[i].selected = false;
           }
		}
		for(var i = 0;i<optSel.length; i++){
			console.log(i);
			var option = optSel[i];
			select.appendChild(option);
		}
	}
	$el("btn4").onclick = function() {

		var selLen = select.children.length;
		var optSel = [];
		for(var i = 0;i<selLen; i++){
           if(select.children[i].selected){
           		optSel.push(select.children[i]);
           		select.children[i].selected = false;
           }
		}
		for(var i = 0;i<optSel.length; i++){
			console.log(i);
			var option = optSel[i];
			all.appendChild(option);
		}
	}

	</script>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值