JS與jQuery實現(xiàn)ListBox上移,下移,左移,右移操作功能示例
本文實例講述了JS與jQuery實現(xiàn)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="內(nèi)蒙古">內(nèi)蒙古</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="內(nèi)蒙古">內(nèi)蒙古</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>
運行效果:
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript表格(table)操作技巧大全》、《JavaScript操作DOM技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript數(shù)學(xué)運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
- 基于js實現(xiàn)數(shù)組相鄰元素上移下移
- js操作table中tr的順序?qū)崿F(xiàn)上移下移一行的效果
- js實現(xiàn)數(shù)組內(nèi)數(shù)據(jù)的上移和下移的實例
- Vue.js實現(xiàn)一個todo-list的上移下移刪除功能
- AngularJS實現(xiàn)數(shù)據(jù)列表的增加、刪除和上移下移等功能實例
- JS實現(xiàn)的表格操作類詳解(添加,刪除,排序,上移,下移)
- js實現(xiàn)Select列表各項上移和下移的方法
- JS實現(xiàn)點擊上移下移LI行數(shù)據(jù)的方法
- JS實現(xiàn)一個列表中包含上移下移刪除等功能
- js實現(xiàn)按鈕進行某行上移下移
相關(guān)文章
javascript產(chǎn)生隨機數(shù)方法匯總
這篇文章主要介紹了javascript產(chǎn)生隨機數(shù)方法匯總的相關(guān)資料,需要的朋友可以參考下2016-01-0110個必備的JavaScript?async/await工具函數(shù)分享
當談到異步編程時,async/await是JavaScript中常用的功能之一,本文為大家整理了10個常用的await和async函數(shù)示例,感興趣的小伙伴可以參考一下2023-12-12有關(guān)文件上傳 非ajax提交 得到后臺數(shù)據(jù)問題
本文給大家介紹關(guān)于文件上傳非ajax提交得到后臺數(shù)據(jù)的問題我們該怎么處理呢?下文給大家介紹的非常詳細,感興趣的朋友一起看看吧2016-10-10JavaScript實現(xiàn)Iterator模式實例分析
這篇文章主要介紹了JavaScript實現(xiàn)Iterator模式,實例分析了Iterator模式的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2015-06-06