首頁 >web前端 >js教程 >JavaScript如何實作組合列錶框中元素移動效果_javascript技巧

JavaScript如何實作組合列錶框中元素移動效果_javascript技巧

WBOY
WBOY原創
2016-05-16 15:13:021858瀏覽

 先跟大家說下組合框與列錶框的差別:

組合方塊包含列錶框和文字方塊的功能

文字方塊:只能輸入資料

列錶框:只能選擇資料

組合框:既能輸入數據,又能選擇``

套用背景:在頁面中有兩個列錶框,需要把其中一個列錶框的元素移到另一個列錶框 。

   實現的基本思想:

  (1)寫init方法對兩個列錶框進行初始化;

  (2)為body新增onload事件呼叫init方法;

  (3)寫move(s1,s2)把s1中選取的選項移到s2;

  (4)寫moveAll(s1,s2)把s1中所有的選項都移到s2.

  (5)為按鈕新增onclick事件。

javascript程式碼如下:

<script type="text/javascript" language="javascript">
//对下拉框信息进行初始化
function init() {
for (i = ; i < ; i++) {
var y = document.createElement("option");//增加一个元素option
y.text = '选项' + i;
var x=document.getElementById("s");//根据ID找到列表框
x.add(y, null); //
}
}
//把选中的选项移到另一边
function move(s, s) {
var index = s.selectedIndex;
if (index == -) {
alert("没有选中值");
return;
}
s.length++;
s.options[s.length - ].value = s.options[index].value;
s.options[s.length - ].text = s.options[index].text;//s中当前选中的值赋给s的最后一个元素
s.remove(index);//从s中移除当前元素
}
//把一边的完全移到另一边
function moveAll(s, s) {
if (s.length == ) {
alert("没有可用选择");
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 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>

以上內容為大家介紹了JavaScript如何實現組合列錶框中元素移動效果的相關知識,希望對大家有幫助!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn