討論區快速選單
知識庫快速選單
討論區最近新進100則主題 下載Alexa Toolbar讓你上網更有趣 我的IT職涯該如何規劃 ?
[ 回上頁 ] [ 討論區發言規則 ]
求救∼∼動態下拉式選單
更改我的閱讀文章字型大小
作者 : cssusu(細眼)
[ 貼文 38 | 人氣 9758 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/7/19 下午 06:23:16
我爬過文章了
我是新手
我做了一頁JSP網頁
一開始有一個下拉式選單
選取後 到資料庫中抓取相關的值
馬上顯示在同一頁中
例如 選取下午2點 就到資料庫中抓取預約下午2點的客戶其名稱
但是我一直做不出來
請各位大大幫我
看我哪裡寫錯了 謝謝
以下是程式碼

<%@ page contentType="text/html; charset=big5" language="java" import="java.sql.*" errorPage="" %>
<%@ include file="../../../connect.jsp" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>無標題文件</title>
</head>
<body>
<form name="selection" >//下拉式選單
<p>
<select name="time" size="1" id="time" >
<option value="9" selected>早上9點</option>
<option value="10">早上10點</option>
<option value="11">早上11點</option>
<option value="12">中午12點</option>
<option value="13">下午1點</option>
<option value="14">下午2點</option>
<option value="15">下午3點</option>
<option value="16">下午4點</option>
<option value="17">下午5點</option>
<option value="18">下午6點</option>
<option value="19">晚上7點</option>
<option value="20">晚上8點</option>
<option value="21">晚上9點</option>
<option value="22">晚上10點</option>
<option value="23">晚上11點</option>
<option value="24">晚上12點</option>
</select>
<p>
<%
String i = request.getParameter("time");//抓取下拉式選單的值
String sql = "select order_member_sn from orders where order_time =";
PreparedStatement stmt=con.prepareStatement(sql+i); //抓取值後 到資料庫中查詢
ResultSet rs=stmt.executeQuery();
%>
<select name="select" size="10">
<option>==請選擇==</option>
<%
while(rs.next())
{
String name=rs.getString("order_member_sn");
%>
<option value="<%=name%>" selected><%=name%></option>
<%
}
%>
</select>
</form>
</body>
</html>
作者 : morrc(竹子) 人氣指數超過10000點
[ 貼文 173 | 人氣 11124 | 評價 180 | 評價/貼文 1.04 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人cssusu註記此篇回應為很有道理 2004/7/20 上午 10:20:00
jsp中的<% ... %>部分是在網頁一開始載入的時候執行的,當網頁載入後就只剩下靜態的網頁(html+javascript)在執行.
所以當你的select做了改變,要用重新開啟這一頁才能夠查詢到你要的資料.
作者 : cssusu(細眼)
[ 貼文 38 | 人氣 9758 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/7/20 上午 10:32:01
謝謝竹子
我知道了
那我想請問一下
如果要將選取的選項到資料庫中
查詢相關的檔案
立刻顯示在下面的話我應該怎麼做

作者 : morrc(竹子) 人氣指數超過10000點
[ 貼文 173 | 人氣 11124 | 評價 180 | 評價/貼文 1.04 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/7/20 下午 02:16:00
1.在<select>加上onChange,當選項改變的時候,將資料傳送到下一頁
2.假設你這一頁名稱為A.jsp,再重新開啟一次
3.<option>中加上<%if (i != null && i.equals("10")){%> selected <%}%>,這樣頁面重新載入,仍會顯示你剛剛選取的時間
4.if(i!=null){}將顯示查詢並顯示客戶名稱的那一段包起來,避免第一次載入時i=null,會造成什麼錯誤
3.程式碼大致如下,你試試看囉

<%@ page contentType="text/html; charset=big5" language="java" import="java.sql.*" errorPage="" %>
<%@ include file="../../../connect.jsp" %>
<%
String i = request.getParameter("time");//抓取下拉式選單的值
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>無標題文件</title>
</head>
<script>
function change(){
document.selection.submit();
}
</script>
<body>
<form name="selection" action="A.jsp" method="post">//下拉式選單
<p>
<select name="time" size="1" id="time" onChange="change()">
<option value="9" <%if (i == null || i.equals("9")){%> selected <%}%>>早上9點</option>
<option value="10" <%if (i != null && i.equals("10")){%> selected <%}%>>早上10點</option>
...
</select>
<p>
<%
if(i!=null){

String sql = "select order_member_sn from orders where order_time =";
PreparedStatement stmt=con.prepareStatement(sql+i); //抓取值後 到資料庫中查詢
ResultSet rs=stmt.executeQuery();
%>
<select name="select" size="10">
<option>==請選擇==</option>
<%
while(rs.next())
{
String name=rs.getString("order_member_sn");
%>
<option value="<%=name%>" selected><%=name%></option>
<%
}

}
%>
</select>
</form>
</body>
</html>
作者 : cssusu(細眼)
[ 貼文 38 | 人氣 9758 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/7/20 下午 02:53:57
謝謝竹子
感謝你
已經OK了
作者 : cssusu(細眼)
[ 貼文 38 | 人氣 9758 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/7/21 下午 03:07:56
竹子
我在問一個問題
就是選取時間後
下方會出現 到資料庫中查詢的結果的select方塊
但是一開始為什麼沒有
要選取時間後才會出現
如果要一開始就出現(雖然裡面沒東西)
要怎麼做呢
請幫我解答謝謝
作者 : morrc(竹子) 人氣指數超過10000點
[ 貼文 173 | 人氣 11124 | 評價 180 | 評價/貼文 1.04 | 送出評價 4 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2004/7/25 下午 03:21:40
if(i!=null){}將顯示查詢並顯示客戶名稱的那一段包起來,避免第一次載入時i=null,會造成什麼錯誤
這一段取消就會出現囉,你試試看吧~
 板主 : popolom
 > J2EE/Servlet/JSP - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - J2EE/Servlet/JSP - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
J2EE/Servlet/JSP
1 Aries 640 
2 popolom 500 
3 DEMO999 280 
4 殭屍 270 
5 瑋瑋 230 
6 阿誌 130 
7 藍色小惡魔 120 
8 120 
9 竹子 90 
10 fish 90 
J2EE/Servlet/JSP
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2014 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125