0
選擇我有一個表稱爲tbl_Teacher
數據爲:從下拉列表填充第二類
Teacher_ID Lastname Firstname Department
1 aaa Joe Math
2 bbb Jenny History
3 ccc Mark Math
我創建了一個ASP SELECT
。如果從下拉列表中選擇「aaa,標記」,則會在第二個下拉列表中自動選擇「匹配」。然而,在我選擇Last和Firstname後它沒有任何價值;它顯示沒有找到部門。
我做錯了什麼?誰能幫忙?
非常感謝。
下面是代碼:
<% Set rsSelect = Server.CreateObject("adodb.recordset")
strSQL = "SELECT Lastname, Firstname, Teacher_ID FROM tbl_Teacher;"
rsSelect.Open strSQL, strCon
Dim strID
strID = Request.QueryString("Teacher_ID")
if not rsSelect.eof then %>
<select name="Name" onChange="this.form.action='Teacher.asp';this.form.submit();">
<option value="1">Select a Teacher</option>
<% do until rsSelect.eof %>
<option value="<%= rsSelect(0) %>" <% if trim(request.Form("Name")) = trim(rsSelect(0)) then response.write " selected "end if %>><%= rsSelect("Lastname") %>, <%= rsSelect("Firstname") %></option>
<% rsSelect.MoveNext
loop %>
</select>
<% end if
if trim(request.Form("Name")) <> "" then
strSQL = "SELECT Department FROM tbl_Teacher WHERE Teacher_ID = '" & Request.Form("strID") & "';"
Set rsSelect = Server.CreateObject("adodb.RecordSet")
rsSelect.Open strSQL, strCon
if not rsSelect.eof then %>
<select name="Department">
<% do until rsSelect.eof %>
<option value="<%= rsSelect("Department") %>"><%= rsSelect("Department") %></option>
<% rsSelect.MoveNext
loop %>
</select>
<% else %>
<i>No Department found</i>
<% end if
else
response.write "<i>Select a Department</i>"
end if %>
它像魅力一樣工作。它是內聯網,所以不用擔心SQL注入攻擊。非常感謝。 – 2014-10-07 15:21:16
只有一個問題。第二個下拉列表填充時未選擇「選定」。例如,當我選擇「aaa,Joe」時,然後「數學」部門選擇第二個選擇。但是,「選擇部門」顯示在第一個選擇上,而不是「aaa,Joe」。如何在第二次選擇填充後將其更改爲保持選定值?謝謝。 – 2014-10-07 15:40:05
@JennyTran:你的意思是當第一個'select'填充?如果是這樣,那麼這是更復雜,涉及JavaScript ... – Paul 2014-10-08 07:54:49