JavaScript如何實(shí)現(xiàn)組合列表框中元素移動(dòng)效果
首先給大家說(shuō)下組合框和列表框的區(qū)別:
組合框包括列表框和文本框的功能
文本框:只能輸入數(shù)據(jù)
列表框:只能選擇數(shù)據(jù)
組合框:既能輸入數(shù)據(jù),又能選擇``
應(yīng)用背景:在頁(yè)面中有兩個(gè)列表框,需要把其中一個(gè)列表框的元素移動(dòng)到另一個(gè)列表框 。
實(shí)現(xiàn)的基本思想:
?。?)編寫(xiě)init方法對(duì)兩個(gè)列表框進(jìn)行初始化;
?。?)為body添加onload事件調(diào)用init方法;
?。?)編寫(xiě)move(s1,s2)把s1中選中的選項(xiàng)移到s2;
?。?)編寫(xiě)moveAll(s1,s2)把s1中所有的選項(xiàng)都移到s2.
(5)為按鈕添加onclick事件。
javascript代碼如下:
<script type="text/javascript" language="javascript">
//對(duì)下拉框信息進(jìn)行初始化
function init() {
for (i = ; i < ; i++) {
var y = document.createElement("option");//增加一個(gè)元素option
y.text = '選項(xiàng)' + i;
var x=document.getElementById("s");//根據(jù)ID找到列表框
x.add(y, null); //
}
}
//把選中的選項(xiàng)移到另一邊
function move(s, s) {
var index = s.selectedIndex;
if (index == -) {
alert("沒(méi)有選中值");
return;
}
s.length++;
s.options[s.length - ].value = s.options[index].value;
s.options[s.length - ].text = s.options[index].text;//s中當(dāng)前選中的值賦給s的最后一個(gè)元素
s.remove(index);//從s中移除當(dāng)前元素
}
//把一邊的完全移到另一邊
function moveAll(s, s) {
if (s.length == ) {
alert("沒(méi)有可用選擇");
return;
}
s.length = s.length + s.length;
for (var i = ; i < s.length; i++) {
s.options[s.length - s.length + i].value = s.options[i].value;
s.options[s.length - s.length + i].text = s.options[i].text;
}
s.length = ;
}
</script>
<body>代碼:
<body onload="init()"> <table> <tr> <td><select id="s" size= style="width:"></select></td> <td><input type="button" name="moveToRight" value=">" onClick="move(s,s)"> <br> <br> <input type="button" name="moveAllToRight" value=">>" onClick="moveAll(s,s)"> <br> <input type="button" name="moveToLeft" value="<" onClick="move(s,s)"> <br> <br> <input type="button" name="moveAllToLeft" value="<<" onClick="moveAll(s,s)"></td> <td><select id="s" name="s" size= style="width:"></select></td> </tr> </table> </body>
以上內(nèi)容給大家介紹了JavaScript如何實(shí)現(xiàn)組合列表框中元素移動(dòng)效果的相關(guān)知識(shí),希望對(duì)大家有所幫助!
相關(guān)文章
js實(shí)現(xiàn)仿Discuz文本框彈出層效果
這篇文章主要介紹了js實(shí)現(xiàn)仿Discuz文本框彈出層效果的方法,可實(shí)現(xiàn)點(diǎn)擊文本框彈出窗口選擇數(shù)據(jù)的效果,涉及鼠標(biāo)事件及頁(yè)面自定義彈出窗口的相關(guān)操作技巧,需要的朋友可以參考下2015-08-08
JS實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)渲染的豎向步驟條
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)渲染的豎向步驟條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
推薦js實(shí)現(xiàn)商品分類(lèi)到搜索欄友好提示(人機(jī)交互)
推薦js實(shí)現(xiàn)商品分類(lèi)到搜索欄友好提示(人機(jī)交互)...2007-05-05
在JavaScript里嵌入大量字符串常量的實(shí)現(xiàn)方法
在JavaScript文件里嵌入大量字符串常量是經(jīng)常遇到的事。有時(shí)為了省事,就把一些界面的HTML和CSS直接寫(xiě)在JS文件里2013-07-07
layui實(shí)現(xiàn)給某一列加點(diǎn)擊事件
今天小編就為大家分享一篇layui實(shí)現(xiàn)給某一列加點(diǎn)擊事件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
基于javascript顯示當(dāng)前時(shí)間以及倒計(jì)時(shí)功能
這篇文章主要為大家詳細(xì)介紹了基于javascript顯示當(dāng)前時(shí)間以及倒計(jì)時(shí)功能的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03

