JS实现将一个文本框的值移动到另一个文本框

实现效果:

代码:

<!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>JS实现将一个文本框的移动到另一个文本框</title>

<script>
	function $(id){return document.getElementById(id);}
	
	//全部右移 >>
	function RightMoveAll()
	{
		var con_data=[];
		//将左边的所有值都放到临时数据
		for(var i=0;i<$("left_").length;i++)
		{	
		 	con_data[con_data.length]=[$("left_").options[i].value,$("left_").options[i].text];
		}
		$("right_").length=$("right_").length;
		//把临时数据里面的值放到右边
		for(var i=0;i<con_data.length;i++)
		{
			$("right_").options[$("right_").length]=new Option(con_data[i][1],con_data[i][0]);
		}
		
		//把左边的数据给清空掉
		for(var i=$("left_").length-1;i>=0;i--)
		{
			$("left_").removeChild($("left_").options[i]);
		}
	}
	
	//全部左移 <<
	function LeftMoveAll()
	{
		var con_data=[];
		//将右边的所有值都放到临时数据
		for(var i=0;i<$("right_").length;i++)
		{	
		 	con_data[con_data.length]=[$("right_").options[i].value,$("right_").options[i].text];
		}
		//把临时数据里面的值放到左边
		for(var i=0;i<con_data.length;i++)
		{
			$("left_").options[$("left_").length]=new Option(con_data[i][1],con_data[i][0]);
		}
		
		//把右边的数据给清空掉
		for(var i=$("right_").length-1;i>=0;i--)
		{
			$("right_").removeChild($("right_").options[i]);
		}
	}
	
	//将左边的移动到右边,并删掉左边的数据
	function RightMove()
	{
		var con_data=[];
		var index_data=[];
		
		//看选中的是哪一个值
		for(var i=0;i<$("left_").length;i++)
		{
			if($("left_").options[i].selected)
			{
				con_data[con_data.length]=[$("left_").options[i].value,$("left_").options[i].text];
				index_data[index_data.length]=[i];
			}
		}
		
		for(var i=0;i<con_data.length;i++)
		{
			var con_fla=true;
			for(var k=0;k<$("right_").length;k++)
			{
				if(con_data[i][0]==$("right_").options[k].value)
					con_fla=false;
			}
			if(con_fla)
				$("right_").options[$("right_").length]=new Option(con_data[i][1],con_data[i][0]);
		}
		
		for(var i=index_data.length-1;i>=0;i--)
		{
			$("left_").removeChild($("left_").options[index_data[i]]);
		}
		
		
	}
	
	//将右边的数据全部移动到左边,并删除右边的数据
	function LeftMove()
	{
		var con_data=[];
		var index_data=[];
		
		//看选中的是哪一个值
		for(var i=0;i<$("right_").length;i++)
		{
			if($("right_").options[i].selected)
			{
				con_data[con_data.length]=[$("right_").options[i].value,$("right_").options[i].text];
				index_data[index_data.length]=[i];
			}
		}
		
		for(var i=0;i<con_data.length;i++)
		{
			var con_fla=true;
			for(var k=0;k<$("left_").length;k++)
			{
				if(con_data[i][0]==$("left_").options[k].value)
					con_fla=false;
			}
			if(con_fla)
				$("left_").options[$("left_").length]=new Option(con_data[i][1],con_data[i][0]);
		}
		
		for(var i=index_data.length-1;i>=0;i--)
		{
			$("right_").removeChild($("right_").options[index_data[i]]);
		}
	}
	
</script>
<body>
    <table width="355" height="192" border="1">
      <tr>
        <td width="128" align="center" valign="middle">
        	<select name="left_" size="7" multiple="multiple" id="left_" style="width:100px;">
          		<option value="辽宁省">辽宁省</option>
          		<option value="吉林省">吉林省</option>
          		<option value="黑龙江省">黑龙江省</option>
          		<option value="陕西省">陕西省</option>
          		<option value="江苏省">江苏省</option>
          		<option value="广东省">广东省</option>
        	</select>
        </td>
        <td width="101" align="center" valign="middle">
            <input type="button" name="rMoveAll" value="   >>   " onclick="RightMoveAll();" />
            <input type="button" name="rMove" value="   >   " onclick="RightMove();" />
            <input type="button" name="lMove" value="   <   " onclick="LeftMove();" />
            <input type="button" name="lMoveAll" value="   <<   " onclick="LeftMoveAll();" />
        </td>
        <td width="128" align="center" valign="middle">
        	<select name="right_" size="7" multiple="multiple" id="right_" style="width:100px;"></select>
        </td>
      </tr>
    </table>
</body>
</html>

改得有些乱,仅供参考。 

原文链接:http://blog.sina.com.cn/s/blog_9f54eb250100xw53.html 

猜你喜欢

转载自blog.csdn.net/qq_24470501/article/details/85326162