本文内容摘自:《Java Web开发教程——入门与提高篇(JSP+Servlet)》
实例:组合列表框
应用背景:页面中有两个列表框,需要把左边的一些选项添加到右边的列表框中,或者把左边的一些选项移动到左边的列表框中。
典型例子:
组合列表框的效果:效果如图4.1
所示。
图4.1
组合列表框
实现的基本思路:
l
编写init
方法对两个列表框进行初始化;
l
为body
添加onload
事件调用init
方法;
l
编写
move(s1,s2)
方法把
s1
中选中的选项添加到
s2
中,同时在
s1
中删除该选项;
l
编写
moveAll(s1,s2)
方法把
s1
中所有的选项都移动到
s2
中;
l
为中间的4
个按钮添加onclick
事件,分别调用
move(s1,s2)
和
moveAll(s1,s2)
两个方法。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<script language="javascript" type="text/javascript">
//
对下拉框信息进行初始化
function init(){
var options = new Array(10);
for(i = 0;i<10;i++)
{
options[i] = "
选项
"+(i+1);
}
s1.length=10;
for(i = 0;i<10;i++)
{
s1.options[i].value=i+1;
s1.options[i].text=options[i];
}
}
//
把选中的选项移动到右边
function move(s1,s2){
//
判断是否有选择项
index = s1.selectedIndex
if(index==-1){
alert("
没有选择
");
return;
}
//
修改
s2
,把
s1
中选中的选项添加到
s2
中
s2.length++;
s2.options[s2.length-1].value = s1.options[index].value;
s2.options[s2.length-1].text= s1.options[index].text;
//
删除
s1
中被选择的选项
s1.remove(index);
}
//
把所有选项移动到右边
function moveAll(s1,s2){
//
判断是否有选择项
if(s1.length == 0){
alert("
没有可用选择
");
return;
}
//
把
s1
中的选项添加到
s2
中
s2.length = s1.length + s2.length;
for(i=0;i<s1.length;i++){
s2.options[s2.length-s1.length+i].value=s1.options[i].value;
s2.options[s2.length-s1.length+i].text=s1.options[i].text;
}
//
清空
s1
s1.length = 0;
}
</script>
<style type="text/css">
input {width =40}
</style>
<head>
<title>jsp4-1-1-c.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body οnlοad="init()">
<table>
<tr>
<td>
<select name="s1" size=10 style="width: 100">
</select>
</td>
<td>
<input type="button" name="moveToRight" value=">" onClick="move(s1,s2)">
<br>
<input type="button" name="moveAllToRight" value=">>" onClick="moveAll(s1,s2)">
<br>
<input type="button" name="moveToLeft" value="<" onClick="move(s2,s1)">
<br>
<input type="button" name="moveAllToLeft" value="<<" onClick="moveAll(s2,s1)">
<br>
</td>
<td>
<select name="s2" size=10 style="width: 100">
</select>
</td>
</tr>
</table>
</body>
</html>
下一讲:第二十讲 Ajax概述