日期:2014-05-20  浏览次数:20561 次

下拉列表的操作,数据库的操作?
myEclipse+tomcat+mySql,

sql="select areaName, postCode from area where provinceID=1"
执行了上边这条sql语句后得到的结果集为rs。
<select name="area" >
<% while (rs.next())

%>
<option><%=rs.getString("areaName")%></option>
<%
}
%>
<br>
<input type="text" name="postcode" />
这样就给下拉列表的显示值都用areaName赋值了。
我想要实现的功能就是在选择了下拉列表的某一项后,在下边的文本框中显示此条areaName对应的那个postCode,举个例子
areaName postCode
北京 010001
天津 020001
上海 030001
这样我将北京,天津,上海放入了下拉列表中,在在选择了北京后,在后边的文本域中显示010001,选择上海后,在文本框中显示030001
我想到的决绝方法是再进行yici数据库io操作,但是这样就有了开销,我想既然将数据都选择出来了,没必要进行第二次数据库操作来读取数据。
不知道如何解决这个问题,希望高手能够多多指点,越详尽越好,谢谢!!!

------解决方案--------------------
你的rs包含了postCode ,只是将他取出显示的问题,
加个〈input type='hidden' ...〉取值,
option上加onchange事件 innerHTML放入你要显示的位置,

------解决方案--------------------

用js实现,给你写好了
HTML code

<%@ page language="java" pageEncoding="GB18030"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
  <head>
    <html:base />
    
    <title>1.jsp</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 test()
        {
            var v  = document.getElementById("test").value;
            document.getElementById("test2").value=v;
        }
        
        
    </script>
  </head>
  
  <body>
<select name="area" id="test" onchange="test()">
<% while (rs.next())
{
%>
<option value=<%=rs.getString("postcode")%>> <%=rs.getString("areaName")%> </option>
<%
}
%> 
</select>
   <input id="test2" type="text" value="">
  </body>
</html:html>