列表選項左右互相移動

第一種寫法

<html>
<head>
    <title>Select Op</title>
    <meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
    <script type="text/javascript">
        var o;
        function MoveTo(index)
        {
            if (index!=undefined)
            {
                o=source.options[index];
                distinct.options.add(new Option(o.text,o.value));
                source.remove(index);
            }
            else
            {
                for(var i=0;i<source.options.length;)//不要在這裏控制i的增長,因爲有可能刪除了option
                {
                    if(source.options[i].selected)
                    {
                        o=source.options[i];
                        distinct.options.add(new Option(o.text,o.value));
                        source.options.remove(i);
                        i=0;
                    }
                    else
                        i++;
                }
            }
        }
        function MoveBack(index)
        {
            if (index!=undefined)
            {
                o=distinct.options[index];
                source.options.add(new Option(o.text,o.value));
                distinct.remove(index);
            }
            else
            {
                for(var i=0;i<distinct.options.length;)//不要在這裏控制i的增長,因爲有可能刪除了option
                {
                    if(distinct.options[i].selected)
                    {
                        o=distinct.options[i];
                        source.options.add(new Option(o.text,o.value));
                        distinct.options.remove(i);
                        i=0;
                    }
                    else
                        i++;
                }
            }
        }
    </script>
</head>
<body>
<table width='500' border='1' cellpadding='0' cellspacing='0'>
    <tr>
        <td width='45%' align="center">
            <select id='source' multiple="multiple" style="width:200px; height: 300px;" ondblclick="MoveTo(this.selectedIndex)">
            <option value='1'>Item1</option>
            <option value='2'>Item2</option>
            <option value='3'>Item3</option>
            <option value='4'>Item4</option>
            <option value='5'>Item5</option>
            <option value='6'>Item6</option>
            </select>
        </td>
        <td width='10%' align="center"><input type="button" value=">>" onclick="MoveTo()" /><br /><input type="button" value="<<" onclick="MoveBack()" /></td>
        <td width='45%'><select id='distinct' ondblclick="MoveBack(this.selectedIndex)" style="width:200px; height:300px" multiple="multiple" align="center"></select></td>
    </tr>
</table>
</body>
</html>

第二種寫法

<html>
<head>
    <title>Select Op</title>
    <meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
	<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
</head>
<body>
<table width='500' border='1' cellpadding='0' cellspacing='0'>
    <tr>
        <td width='45%' align="center"><select id='source' multiple="multiple" style="width:200; height:300" ondblclick="MoveTo(this.selectedIndex)">
            <option value='1'>Item1</option>
            <option value='2'>Item2</option>
            <option value='3'>Item3</option>
            <option value='4'>Item4</option>
            <option value='5'>Item5</option>
            <option value='6'>Item6</option>
        </select></td>
        <td width='10%' align="center"><input type="button" id="button1" value=">>"  /><br /><input type="button" id="button2" value="<<"  /></td>
        <td width='45%'><select id='distinct' ondblclick="MoveBack(this.selectedIndex)" style="width:200; height:300" multiple="multiple" align="center"></select></td>
    </tr>
</table>
</body>
<script type="text/javascript">
	$(document).ready(function(){
		var o;
        MoveTo = function(index)
        {
            if (index!=undefined)
            {
                o=source.options[index];
                distinct.options.add(new Option(o.text,o.value));
                source.remove(index);
            }
        }

        MoveBack = function (index)
        {
            if (index!=undefined)
            {
                o=distinct.options[index];
                source.options.add(new Option(o.text,o.value));
                distinct.remove(index);
            }
        }
	
		$("#button1").click(function(){
			for(var i=0;i<source.options.length;)//不要在這裏控制i的增長,因爲有可能刪除了option
                {
                    if(source.options[i].selected)
                    {
                        o=source.options[i];
                        distinct.options.add(new Option(o.text,o.value));
                        source.options.remove(i);
                        i=0;
                    }
                    else{
                        i++;
						}
                }
		});
		$("#button2").click(function(){
			for(var i=0;i<distinct.options.length;)//不要在這裏控制i的增長,因爲有可能刪除了option
                {
                    if(distinct.options[i].selected)
                    {
                        o=distinct.options[i];
                        source.options.add(new Option(o.text,o.value));
                        distinct.options.remove(i);
                        i=0;
                    }
                    else{
                        i++;
						}
                }
		});
	});
    </script>
</html>

第三版

<html>
<head>
    <title>Select Op</title>
    <meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
	<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
</head>
<body>
<table width='500' border='1' cellpadding='0' cellspacing='0'>
    <tr>
        <td width='45%' align="center"><select id='source' multiple="multiple" style="width:200; height:300" ondblclick="MoveTo(this.selectedIndex)">
            <option value='1'>Item1</option>
            <option value='2'>Item2</option>
            <option value='3'>Item3</option>
            <option value='4'>Item4</option>
            <option value='5'>Item5</option>
            <option value='6'>Item6</option>
        </select></td>
        <td width='10%' align="center"><input type="button" id="button1" value=">>"  /><br /><input type="button" id="button2" value="<<"  /></td>
        <td width='45%'><select id='distinct' ondblclick="MoveBack(this.selectedIndex)" style="width:200; height:300" multiple="multiple" align="center"></select></td>
		<br>
    </tr>
</table>
</body>
<script type="text/javascript">
	$(document).ready(function(){
		var o;
        MoveTo = function(index)
        {
			//將jquery對象轉化爲dom元素
			var   mySelect = $("#source").get(0);
			var   yourSelect = $("#distinct").get(0);
            if (index!=undefined)
            {
                o=mySelect.options[index];
                yourSelect.options.add(new Option(o.text,o.value));
                mySelect.remove(index);
            }
        }

        MoveBack = function (index)
        {	
			//將jquery對象轉化爲dom元素
			var   mySelect = $("#source").get(0);
			var   yourSelect = $("#distinct").get(0);
            if (index!=undefined)
            {
                o=yourSelect.options[index];
                mySelect.options.add(new Option(o.text,o.value));
                yourSelect.remove(index);
            }
        }
	
		$("#button1").click(function(){
			//將jquery對象轉化爲dom元素
			var   mySelect = $("#source").get(0);
			var   yourSelect = $("#distinct").get(0);
			for(var i=0;i<mySelect.options.length;)//不要在這裏控制i的增長,因爲有可能刪除了option
                {
                    if(mySelect.options[i].selected)
                    {
                        o=mySelect.options[i];
                        yourSelect.options.add(new Option(o.text,o.value));
                        mySelect.options.remove(i);
                        i=0;
                    }
                    else{
                        i++;
						}
                }
		});
		$("#button2").click(function(){
			//將jquery對象轉化爲dom元素
			var   mySelect = $("#source").get(0);
			var   yourSelect = $("#distinct").get(0);
			for(var i=0;i<yourSelect.options.length;)//不要在這裏控制i的增長,因爲有可能刪除了option
                {
                    if(yourSelect.options[i].selected)
                    {
                        o=yourSelect.options[i];
                        mySelect.options.add(new Option(o.text,o.value));
                        yourSelect.options.remove(i);
                        i=0;
                    }
                    else{
                        i++;
						}
                }
		});
	});
    </script>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章