在select加入如下属性:
size="5" multiple然后在提交的时候让这些项目全部被选中就可以了

解决方案 »

  1.   

    可以用javascript得到
    function getAll()
    {
    var arr=new Array();
     for(var i=0;i<document.form.D1.length;i++)
     {
      arr[i]=document.form.D1.options[i].value;
     }
    }
      

  2.   


    同意楼上的,要多选
    <select size="16" name="D1" style="border-style: double; border-color: #0000FF" size="5" multiple>         
    用下面这个获值
    String[] name=(String[])request.getParameterValues("D1");
    for(int i=0;i<name.length;i++)
    {
    out.println(name[i]+"yyyyyyy");
    }
      

  3.   

    function getAll()
    {
    var arr=new Array();
     for(var i=0;i<document.form.D1.length;i++)
     {
      arr[i]=document.form.D1.options[i].value;
     }
    }但是 传递到另外一个页面, 不多选的话,好象只能得到一个值!
      

  4.   

    上面的说得对,加个size="5" multiple
      

  5.   

    这类问题经常有人提,索性给出一个完整的例子  
    <%@ page contentType="text/html; charset=gb2312" %>
    <%@ page import="MyTools.StringTools"%>
    <%@ page import="Database.Enterprise.*"%>
    <%@ page import="Database.*"%>
    <%@ page import="java.util.*"%><html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <script>
      function submit_fun()
    {
     for(var i=0;i<document.form1.D1.length;i++)
     {
      document.form1.alloption.value=document.form1.alloption.value+document.form1.D1.options[i].value+"_";
     }
     document.form1.submit();
    }
    </script>
    </head><%!
        public Vector splitString(String splitStr, String delimiter) {
          Vector ts = new Vector();
          StringTokenizer tmpstk = new StringTokenizer(splitStr, delimiter);
          try {
            while (tmpstk.hasMoreTokens()) {
              ts.addElement(tmpstk.nextToken());
            }
            return ts;
          }
          catch (Exception e) {}
          return null;
        }
    %><%
      if(request.getParameter("alloption")!=null)
      {
         String alloption=request.getParameter("alloption");
         out.println("alloption value is "+alloption+"<br>");
     Vector v=splitString(alloption,"_");
     for(int i=0;i<v.size();i++)
     {
        out.println(v.elementAt(i).toString()+"<br>");
      }
      }
    %>
    <body>
    <form name=form1 action="" method="post">
    <select size="16" name="D1" style="border-style: double; border-color: #0000FF">         
    <option value="2">&nbsp;&nbsp;位置建置&nbsp;&nbsp;</option>            
    <option value="3">&nbsp;&nbsp;行政区划&nbsp;&nbsp;</option>            
    <option value="5">&nbsp;&nbsp;人口民族&nbsp;&nbsp;</option>            
    <option value="6">&nbsp;&nbsp;环境资源&nbsp;&nbsp;</option>            
    <option value="18">&nbsp;&nbsp;河  流&nbsp;&nbsp;</option>            
    <option value="19">&nbsp;&nbsp;海  域&nbsp;&nbsp;</option>            
    <option value="7">&nbsp;&nbsp;气候条件&nbsp;&nbsp;</option>            
    <option value="8">&nbsp;&nbsp;地质地貌&nbsp;&nbsp;</option>            
    </select>
        <input name="alloption" type="hidden">
    <input name="submitbutton" type="button"  value="提交" onClick="submit_fun()">
    </form>
    </body>
    </html>