JavaScript_javascript スキルを使用してコンボ リスト ボックス内の要素の移動効果を実現する方法

WBOY
リリース: 2016-05-16 15:13:02
オリジナル
1834 人が閲覧しました

まず、コンボ ボックスとリスト ボックスの違いについて説明します。

コンボボックスにはリストボックスとテキストボックスの機能が含まれています

テキストボックス: データのみ入力可能

リストボックス: データのみ選択可能

コンボボックス: データを入力するだけでなく、「

」を選択することもできます

アプリケーションの背景: ページ上に 2 つのリスト ボックスがあり、一方のリスト ボックスの要素をもう一方のリスト ボックスに移動する必要があります。

実装の基本的な考え方:

(1) 2 つのリスト ボックスを初期化する init メソッドを記述します。

(2) 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 でコンボ リスト ボックス内の要素の移動効果を実現する方法についての知識を紹介しています。お役に立てば幸いです。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート