Selectリストの左右の内容が入れ替わるJSコードをプレビューし、同時に複数選択をサポートします.


<html>
    
    <head>
        <meta http-equiv="Content-Type" mrc="text/html; charset=gb2312">
        <title>
            Select         JS
        </title>
        <SCRIPT LANGUAGE="JavaScript">
            < !--Begin sortitems = 1;
            function move(fbox, tbox) {
                for (var i = 0; i < fbox.options.length; i++) {
                    if (fbox.options[i].selected && fbox.options[i].value != "") {
                        var no = new Option();
                        no.value = fbox.options[i].value;
                        no.text = fbox.options[i].text;
                        tbox.options[tbox.options.length] = no;
                        fbox.options[i].value = "";
                        fbox.options[i].text = "";
                    }
                }
                BumpUp(fbox);
                if (sortitems) SortD(tbox);
            }
            function BumpUp(box) {
                for (var i = 0; i < box.options.length; i++) {
                    if (box.options[i].value == "") {
                        for (var j = i; j < box.options.length - 1; j++) {
                            box.options[j].value = box.options[j + 1].value;
                            box.options[j].text = box.options[j + 1].text;
                        }
                        var ln = i;
                        break;
                    }
                }
                if (ln < box.options.length) {
                    box.options.length -= 1;
                    BumpUp(box);
                }
            }

            function SortD(box) {
                var temp_opts = new Array();
                var temp = new Object();
                for (var i = 0; i < box.options.length; i++) {
                    temp_opts[i] = box.options[i];
                }
                for (var x = 0; x < temp_opts.length - 1; x++) {
                    for (var y = (x + 1); y < temp_opts.length; y++) {
                        if (temp_opts[x].text > temp_opts[y].text) {
                            temp = temp_opts[x].text;
                            temp_opts[x].text = temp_opts[y].text;
                            temp_opts[y].text = temp;
                            temp = temp_opts[x].value;
                            temp_opts[x].value = temp_opts[y].value;
                            temp_opts[y].value = temp;
                        }
                    }
                }
                for (var i = 0; i < box.options.length; i++) {
                    box.options[i].value = temp_opts[i].value;
                    box.options[i].text = temp_opts[i].text;
                }
            }
            // End -->
            
        </script>
    </head>
    
    <body>
        <form ACTION="" METHOD="POST">
            <table border="0">
                <tr>
                    <td>
                        <select multiple size="5" name="list1">
                            <option value="ASP">
                                ASP
                            </option>
                            <option value="PHP">
                                PHP
                            </option>
                            <option value="JSP">
                                JSP
                            </option>
                        </select>
                    </td>
                    <td>
                        <input type="button" value=" >> " onclick="move(this.form.list1,this.form.list2)"
                        name="B1">
                        <input type="button" value=" << " onclick="move(this.form.list2,this.form.list1)"
                        name="B2">
                    </td>
                    <td>
                        <select multiple size="5" name="list2">
                            <option value="JAVA">
                                JAVA
                            </option>
                            <option value="DELPHI">
                                DELPHI
                            </option>
                            <option value="C++">
                                C++
                            </option>
                        </select>
                    </td>
                </tr>
            </table>
        </form>
        <p>
                      
        </p>
    </body>

</html>