JS與jQuery實(shí)現(xiàn)ListBox上移,下移,左移,右移操作功能示例
本文實(shí)例講述了JS與jQuery實(shí)現(xiàn)ListBox上移,下移,左移,右移操作功能。分享給大家供大家參考,具體如下:
先來(lái)看看Javascript版選擇下拉菜單互移且排序操作:
<html>
<head>
<title>Javascript版選擇下拉菜單互移且排序</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<p>選定一項(xiàng)或多項(xiàng)然后點(diǎn)擊添加或移除(按住shift或ctrl可以多選),或在選擇項(xiàng)上雙擊進(jìn)行添加和移除。</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="臺(tái)灣">臺(tái)灣</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>
運(yùn)行效果:

再來(lái)看看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>選定一項(xiàng)或多項(xiàng)然后點(diǎn)擊添加或移除(按住shift或ctrl可以多選),或在選擇項(xiàng)上雙擊進(jìn)行添加和移除。</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="臺(tái)灣">臺(tái)灣</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時(shí)選中多個(gè)連靠則操作沒(méi)效果
{
$(own).next().insertBefore($(own));
}
})
}
}
</script>
</body>
</html>
運(yùn)行效果:

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript表格(table)操作技巧大全》、《JavaScript操作DOM技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- 基于js實(shí)現(xiàn)數(shù)組相鄰元素上移下移
- js操作table中tr的順序?qū)崿F(xiàn)上移下移一行的效果
- js實(shí)現(xiàn)數(shù)組內(nèi)數(shù)據(jù)的上移和下移的實(shí)例
- Vue.js實(shí)現(xiàn)一個(gè)todo-list的上移下移刪除功能
- AngularJS實(shí)現(xiàn)數(shù)據(jù)列表的增加、刪除和上移下移等功能實(shí)例
- JS實(shí)現(xiàn)的表格操作類詳解(添加,刪除,排序,上移,下移)
- js實(shí)現(xiàn)Select列表各項(xiàng)上移和下移的方法
- JS實(shí)現(xiàn)點(diǎn)擊上移下移LI行數(shù)據(jù)的方法
- JS實(shí)現(xiàn)一個(gè)列表中包含上移下移刪除等功能
- js實(shí)現(xiàn)按鈕進(jìn)行某行上移下移
相關(guān)文章
???????Rxjs?map,?mergeMap?和?switchMap?的區(qū)別與聯(lián)系
這篇文章主要介紹了???????Rxjs?map,mergeMap和switchMap的區(qū)別與聯(lián)系,map、mergeMap和switchMap是RxJS中的三個(gè)主要運(yùn)算符,在SAP?Spartacus開(kāi)發(fā)中有著廣泛的使用場(chǎng)景2022-07-07
淺談JavaScript Math和Number對(duì)象
這篇文章主要簡(jiǎn)單介紹了JavaScript Math和Number對(duì)象的相關(guān)資料,需要的朋友可以參考下2015-01-01
使用mouse事件實(shí)現(xiàn)簡(jiǎn)單的鼠標(biāo)經(jīng)過(guò)特效
這篇文章主要介紹了使用mouse事件實(shí)現(xiàn)簡(jiǎn)單的鼠標(biāo)經(jīng)過(guò)特效的方法,需要的朋友可以參考下2015-01-01
幾種延遲加載JS代碼的方法加快網(wǎng)頁(yè)的訪問(wèn)速度
如何延遲javascript代碼的加載,加快網(wǎng)頁(yè)的訪問(wèn)速度,為了讓我們的網(wǎng)頁(yè)加載速度更快,本文總結(jié)了一下幾個(gè)注意點(diǎn),感興趣的朋友可以參考下2013-10-10
uni-app應(yīng)用配置manifest.json最全最詳細(xì)配置
這篇文章主要給大家介紹了關(guān)于uni-app應(yīng)用配置manifest.json最全最詳細(xì)配置,manifest.json文件是UniApp開(kāi)發(fā)中用來(lái)配置應(yīng)用信息的重要文件,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
原生js結(jié)合html5制作小飛龍的簡(jiǎn)易跳球
這篇文章主要介紹了原生js結(jié)合html5制作小飛龍的簡(jiǎn)易跳球的方法和代碼分享,推薦給大家,有需要的小伙伴可以參考下。2015-03-03
JavaScript原型鏈與繼承操作實(shí)例總結(jié)
這篇文章主要介紹了JavaScript原型鏈與繼承操作,結(jié)合實(shí)例形式總結(jié)分析了javascript原形鏈與繼承的相關(guān)概念、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2018-08-08

