JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
程序员文章站
2022-03-22 08:02:17
本文实例讲述了js与jquery实现listbox上移,下移,左移,右移操作功能。分享给大家供大家参考,具体如下:
先来看看javascript版选择下拉菜单互移且排序操...
本文实例讲述了js与jquery实现listbox上移,下移,左移,右移操作功能。分享给大家供大家参考,具体如下:
先来看看javascript版选择下拉菜单互移且排序操作:
<html> <head> <title>javascript版选择下拉菜单互移且排序</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> </head> <body> <p>选定一项或多项然后点击添加或移除(按住shift或ctrl可以多选),或在选择项上双击进行添加和移除。</p> <form method="post" name="myform"> <table border="0" width="300"> <tr> <td width="40%"> <select style="width:100px; height:200px" multiple name="list1" size="12" ondblclick="moveoption(document.myform.list1, document.myform.list2)"> <option value="北京">北京</option> <option value="上海">上海</option> <option value="山东">山东</option> <option value="安徽">安徽</option> <option value="重庆">重庆</option> <option value="福建">福建</option> <option value="甘肃">甘肃</option> <option value="广东">广东</option> <option value="广西">广西</option> <option value="贵州">贵州</option> <option value="海南">海南</option> <option value="河北">河北</option> <option value="黑龙江">黑龙江</option> <option value="河南">河南</option> <option value="湖北">湖北</option> <option value="湖南">湖南</option> <option value="内蒙古">内蒙古</option> <option value="江苏">江苏</option> <option value="江西">江西</option> <option value="吉林">吉林</option> <option value="辽宁">辽宁</option> <option value="宁夏">宁夏</option> <option value="青海">青海</option> <option value="山西">山西</option> <option value="陕西">陕西</option> <option value="四川">四川</option> <option value="天津">天津</option> <option value="*">*</option> <option value="*">*</option> <option value="云南">云南</option> <option value="浙江">浙江</option> <option value="香港">香港</option> <option value="澳门">澳门</option> <option value="*">*</option> <option value="其他">其他</option> </select> </td> <td width="20%" align="center"> <input type="button" value=">>" onclick="moveoption(document.myform.list1, document.myform.list2)"><br /> <br /> <input type="button" value="<<" onclick="moveoption(document.myform.list2, document.myform.list1)"> </td> <td width="40%"> <select style="width:100px; height:200px" multiple name="list2" size="12" ondblclick="moveoption(document.myform.list2, document.myform.list1)"> </select> </td> <td> <button onclick="changepos(list2,-1)" type="button"> ∧</button> <br /> <button onclick="changepos(list2,1)" type="button"> ∨</button> </td> </tr> </table> 值:<input type="text" name="city" size="40"> </form> <script language="javascript"> <!-- function moveoption(e1, e2) { try { for (var i = 0; i < e1.options.length; i++) { if (e1.options[i].selected) { var e = e1.options[i]; e2.options.add(new option(e.text, e.value)); e1.remove(i); i = i - 1 } } document.myform.city.value = getvalue(document.myform.list2); } catch (e) { } } function getvalue(geto) { var allvalue = ""; for (var i = 0; i < geto.options.length; i++) { allvalue += geto.options[i].value + ","; } return allvalue; } function changepos(obj, index) { if (index == -1) { if (obj.selectedindex > 0) { obj.options(obj.selectedindex).swapnode(obj.options(obj.selectedindex - 1)) } } else if (index == 1) { if (obj.selectedindex < obj.options.length - 1) { obj.options(obj.selectedindex).swapnode(obj.options(obj.selectedindex + 1)) } } } //--> </script> </body> </html>
运行效果:
再来看看jquery版选择下拉菜单互移且排序功能:
<html> <head> <title>jquery版选择下拉菜单互移且排序</title> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> </head> <body> <p>选定一项或多项然后点击添加或移除(按住shift或ctrl可以多选),或在选择项上双击进行添加和移除。</p> <form method="post" name="myform"> <table border="0" width="300"> <tr> <td width="40%"> <select style="width:100px; height:200px" multiple name="list1" id="list1" ondblclick="listbox_move('list1','list2')"> <option value="北京">北京</option> <option value="上海">上海</option> <option value="山东">山东</option> <option value="安徽">安徽</option> <option value="重庆">重庆</option> <option value="福建">福建</option> <option value="甘肃">甘肃</option> <option value="广东">广东</option> <option value="广西">广西</option> <option value="贵州">贵州</option> <option value="海南">海南</option> <option value="河北">河北</option> <option value="黑龙江">黑龙江</option> <option value="河南">河南</option> <option value="湖北">湖北</option> <option value="湖南">湖南</option> <option value="内蒙古">内蒙古</option> <option value="江苏">江苏</option> <option value="江西">江西</option> <option value="吉林">吉林</option> <option value="辽宁">辽宁</option> <option value="宁夏">宁夏</option> <option value="青海">青海</option> <option value="山西">山西</option> <option value="陕西">陕西</option> <option value="四川">四川</option> <option value="天津">天津</option> <option value="*">*</option> <option value="*">*</option> <option value="云南">云南</option> <option value="浙江">浙江</option> <option value="香港">香港</option> <option value="澳门">澳门</option> <option value="*">*</option> <option value="其他">其他</option> </select> </td> <td width="20%" align="center"> <input type="button" value=">>" onclick="listbox_move('list1','list2')"><br /> <br /> <input type="button" value="<<" onclick="listbox_move('list2','list1')"> </td> <td width="40%"> <select style="width:100px; height:200px" multiple name="list2" id="list2" ondblclick="listbox_move('list2','list1')"> </select> </td> <td> <button onclick="listbox_order('list2','up')" type="button"> ∧</button> <br /> <button onclick="listbox_order('list2','down')" type="button"> ∨</button> </td> </tr> </table> 值:<input type="text" name="city" size="40"> </form> <script language="javascript"> function listbox_move(listfrom,listto) { var size = $("#" + listfrom + " option").size(); var selsize = $("#" + listfrom + " option:selected").size(); if(size>0 && selsize>0) { $.each($("#"+listfrom+" option:selected"), function(i,own){ $(own).appendto($("#" + listto)); $("#" + listfrom + "").children("option:first").attr("selected",true); }); } } function listbox_order(listname,action) { var size = $("#"+listname+" option").size(); var selsize = $("#"+listname+" option:selected").size(); if(size > 0 && selsize > 0) { $.each($("#"+listname+" option:selected"),function(i,own){ if(action == "up") { $(own).prev().insertafter($(own)); } else if(action == "down")//down时选中多个连靠则操作没效果 { $(own).next().insertbefore($(own)); } }) } } </script> </body> </html>
运行效果:
更多关于javascript相关内容感兴趣的读者可查看本站专题:《javascript表格(table)操作技巧大全》、《javascript操作dom技巧总结》、《javascript数组操作技巧总结》、《javascript遍历算法与技巧总结》、《javascript数学运算用法总结》、《javascript数据结构与算法技巧总结》、《javascript查找算法技巧总结》及《javascript错误与调试技巧总结》
希望本文所述对大家javascript程序设计有所帮助。
上一篇: HTML5基础-新标签回顾