select列表左右內容交換的JS程式碼,支援同時多選
阿新 • • 發佈:2019-02-12
<html> <head> <meta http-equiv="Content-Type" content="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>