<select name="dw"  onChange="change(1,this.value)">
<option selected>==请选择==</option>
<%

Collection dws = dwInFo.getDw();
Iterator it = dws.iterator();
while (it.hasNext()) {
dataDW temp = (dataDW) it.next();
try { out.println("<option value=" + temp.getDWBH() + ">"
+ temp.getDWMC());
} catch (Exception e) {
e.printStackTrace();
}
          
}

%>
</select>
然后在SERVLET 写
request.getParameter("dw");只是得到所选择的列表框的VALUE值,怎么才能得到text值呢,急,请各位帮忙

解决方案 »

  1.   

    把value=text不就可以了吗,至于不一样的,我想找不到吧,在select传输时应该不会把text传过去,除非你用javascript获得,然后再传
      

  2.   

    change(1,this.value)这个js方法里加上:this.text得到选择的文本,把这个文本赋给一个hidden。应该ok。
      

  3.   

    %@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@page import="Com.Table.dataDW"%>
    <%@page import="Com.Table.dataBM"%>
    <%@page import="Com.Table.dataYH"%>
    <jsp:useBean id="dwInFo" class="Com.Bean.dwInfo" scope="page" />
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
    + request.getServerName() + ":" + request.getServerPort()
    + path + "/";
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base href="<%=basePath%>"> <title>物资管理系统--登陆</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <script type="text/javascript">function change(flag,value){
    dwmc=document.frmLog.dw.options[document.frmLog.dw.options.selectedIndex].text;
    var ajax=false;
    try
    {//
    ajax=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
    try{
    ajax=new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e2)
    {
    ajax=false;
    }
    }if(!ajax && typeof XMLHttpRequest!='undefined')
    {
    ajax=new XMLHttpRequest();
    }//获得二级分类列表
    ajax.open("get","getInfo.jsp?flag="+flag+"&value="+value);ajax.onreadystatechange=function()
    {
    if(ajax.readystate==4)
    {
    if(ajax.status==200)
    {

    //alert(ajax.responseText);
    if(flag=="1") 
    {
    var v=ajax.responseText.split("||");//req.responseText是服务器返回来的字符串
                                //alert(v[0]+"bbb");
                                //alert(v[1]+"ccc");
                                //alert(document.all("bm").options[document.all("bm").options.selectedIndex].text);
                                paint(document.all("bm"),v[0]);//更新部门下拉框
                                alert(document.frmLog.dw.options[document.frmLog.dw.options.selectedIndex].text+"sss");
                                paint(document.all("yh"),v[1]);//更新用户拉框

    }
    if(flag=="2")
    {

    //alert(ajax.responseText+"ddd");
    var v=ajax.responseText;
                                paint(document.all("yh"),v);//更新用户下拉框

    }

    }

    }
    }
    ajax.send();}function paint(obj,value)//根据一对数据去更新一个下拉框
                {
                    var ops = obj.options;
                     var v=value.split(";");//得到一些数据,(修改过了..)
                        while(ops.length>0)//先清空原来的数据
                        {
                          ops.remove(0);
                        }
                        for(var i=0;i<v.length-1;i++)//把新得到的数据显示上去
                        {
                            var o = document.createElement("OPTION");//创建一个option把它加到下拉框中
                            o.value=v[i].split(",")[0];
                            o.text=v[i].split(",")[1];
                            
                            ops.add(o);
                        }
                }function nullMm()
    {
          if (document.frmLog.mm.value=="")
       {
          alert("请输入密码");
          return false;
      }
          
    }</script>
    </head>
    <body bgcolor=#e1efdb>
    <div align=center>
    <marquee behavior="alternate" direction="left"
    style="overflow: hidden;">
    <h1>
    <b><em>欢迎使用物资管理系统</em>
    </b>
    </h1>
    </marquee>
    <hr noshade="noshade">
    <form action="Main" method="post" name="frmLog" onsubmit="javascript:return nullMm();">
    <%
        String dwmc="";
        String bmmc="";
        String yhmc="";
     %>
    <table align="center">
    <tr>
    <td height="50"></td>
    </tr>
    <tr valign="center">
    <td>
    单位名称:
    </td>
    <td>
      
    <select name="dw"  onchange="change(1,this.value)">
           
    <option ></option>
    <%
    Collection dws = dwInFo.getDw();
    Iterator it = dws.iterator();
    while (it.hasNext()) {
    dataDW temp = (dataDW) it.next();
    try { out.println("<option value=" + temp.getDWBH() + ">"
    + temp.getDWMC());
     
    } catch (Exception e) {
    e.printStackTrace();
    }
              
    }

    %>
    </select>

    </td>
    </tr>
    <tr>
    <td>部门名称:</td>
    <td>
               
       <select name="bm" onchange="change(2,this.value)">
         <option>
         
             </option>
      </select>
      
    </td>
    </tr>
    <tr valign="center">
    <td>
    用户名称:
    </td>
    <td>

           
    <select name="yh" >
    <option>

    </option>
    </select>

    </td>
    </tr>
    <tr>
    <td>
    用户口令:
    </td>
    <td>
    <input type="password" name="mm" size="10" maxlength="10">
    </td>
    </tr>
    <tr>
    <td colspan="2" align="center">
    <input type="Submit" value="登   陆" name="submit">
    </td>
    </tr> <tr>
    <td><input type="hidden" name="mc" value=<%=dwmc%>></td>
    </tr>
    </table>

    </form>
    </div>

    </body>
    </html>
    然后在SERVLET中调用request.getParameter("mc");得出为啥是空值呢,我想得到列表框的TEXT值
      

  4.   

    做一个隐藏域,把Text属性值负到隐藏域里。
    后台直接request.getParameter()获取。
      

  5.   

    jsp: <type="text" name="username"> 
    servlet:
     request.getParameter("username");
    这样就可以到了
      

  6.   

    以上说的,我明白dwmc=document.frmLog.dw.options[document.frmLog.dw.options.selectedIndex].text;这个值取出来,
    td><input type="hidden" name="mc" value=<%=dwmc%>></td>
    然后在SERVLET中调用request.getParameter("mc");这个值是空的呢