现在的位置: 首页 > 综合 > 正文

Java Web基础:第十九讲 JavaScript处理(二)

2013年09月11日 ⁄ 综合 ⁄ 共 2871字 ⁄ 字号 评论关闭

本文内容摘自:《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 onload="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="&lt;" onClick="move(s2,s1)">
                  <br>
                  <input type="button" name="moveAllToLeft" value="&lt;&lt;" onClick="moveAll(s2,s1)">
                  <br>
              </td>
              <td>
                  <select name="s2" size=10 style="width: 100">
                  </select>
              </td>
           </tr>
       </table>
    </body>
</html>

抱歉!评论已关闭.