JSP+JavaScript membuat menu drop-down bertingkat kedua:
class (informasi kolom tingkat pertama): classId (penomoran otomatis), className (nama kolom), Nclass (informasi kolom sekunder), NclassId (penomoran otomatis), NclassName ( nama kolom), parentId (id kolom tingkat pertama, terkait dengan classId di tabel kelas)
<%@ halaman contentType=teks/html; charset=GB2312 bahasa=java errorPage=../error.jsp %>
<%@ sertakan file=../conn.jsp%>
<%@ sertakan file=../ds.jsp%>
<%@ taglib uri=http://java.sun.com/jsp/jstl/sql divfix=sql %>
<%permintaan.setCharacterEncoding(gb2312);
<HTML><KEPALA>
<META http-equiv=Jenis Konten content=text/html; charset=gb2312>
<TITLE>Menu bertingkat</TITLE>
<LINK rel=stylesheet type=teks/css href=style.css>
</KEPALA>
<!--Dapatkan informasi kolom sekunder dari database-->
<%String sql=pilih * dari urutan Nclass oleh NclassId asc;
HasilSet rs=stmt.executeQuery(sql);
%>
<!--Simpan informasi kolom sekunder ke dalam array subcat-->
<tipe skrip=teks/javascript>
var satu hitungan;
satu hitungan = 0;
subcat = Array baru();
<%
int hitungan = 0;
while(rs.next()){
%>
subcat[<%=count%>] = Array baru(<%=rs.getString(NclassName)%>,
<%=rs.getString(NclassId)%>,<%=rs.getString(parentId)%>);
<%
hitung++;
}
rs.close();
%>
satuhitungan=<%=hitungan%>;
<!--Fungsi yang menentukan tampilan pilihan-->
fungsi perubahanlokasi(lokasiid)
{
document.myform.NclassId.length = 0;
var locationid=locationid;
var saya;
untuk (i=0;i < satu hitungan; i++)
{
if (subcat[i][2] == lokasiid)
{
document.myform.NclassId.options[document.myform.NclassId.length] = baru
Pilihan(subkucing[i][0], subkucing[i][1]);
}
}
}
</script>
<Metode FORM=Nama POST=formulir saya action=adminsave.jsp?action=add>
<TABEL>
<TR>
<TD>Klasifikasi tingkat pertama</TD>
<TD>
<PILIH nama=classId onChange=ubah lokasi(document.myform.classId.options
[document.myform.classId.selectedIndex].value) ukuran=1>
<OPTION nilai yang dipilih>==Silakan pilih kategori tingkat pertama==</OPTION>
<sql:query var=query dataSource=$>
PILIH * DARI kelas
</sql:permintaan>
<c:forEach var=item baris=$>
<nilai opsi=$>$</option>
</c:untukSetiap>
</pilih>
</TD>
<TD>Pilih kategori sekunder</TD>
<TD>
<PILIH nama=NclassId>
<OPTION nilai yang dipilih>==Silakan pilih kategori tingkat kedua==</OPTION>
</PILIH>
</TD>
</TR>
</TABEL>
</BENTUK>
</BODI>
</HTML>
<%@ halaman contentType=teks/html; charset=GB2312 bahasa=java errorPage=../error.jsp %>
<%@ sertakan file=../conn.jsp%>
<%@ sertakan file=../ds.jsp%>
<%@ taglib uri=http://java.sun.com/jsp/jstl/sql divfix=sql %>
<%permintaan.setCharacterEncoding(gb2312);
<HTML><KEPALA>
<META http-equiv=Jenis Konten content=text/html; charset=gb2312>
<TITLE>Menu bertingkat</TITLE>
<LINK rel=stylesheet type=teks/css href=style.css>
</KEPALA>
<!--Dapatkan informasi kolom sekunder dari database-->
<%String sql=pilih * dari urutan Nclass oleh NclassId asc;
HasilSet rs=stmt.executeQuery(sql);
%>
<!--Simpan informasi kolom sekunder ke dalam array subcat-->
<tipe skrip=teks/javascript>
var satu hitungan;
satu hitungan = 0;
subcat = Array baru();
<%
int hitungan = 0;
while(rs.next()){
%>
subcat[<%=count%>] = Array baru(<%=rs.getString(NclassName)%>,
<%=rs.getString(NclassId)%>,<%=rs.getString(parentId)%>);
<%
hitung++;
}
rs.close();
%>
satuhitungan=<%=hitungan%>;
<!--Fungsi yang menentukan tampilan pilihan-->
fungsi perubahanlokasi(lokasiid)
{
document.myform.NclassId.length = 0;
var locationid=locationid;
var saya;
untuk (i=0;i < satu hitungan; i++)
{
if (subcat[i][2] == lokasiid)
{
document.myform.NclassId.options[document.myform.NclassId.length] = baru
Pilihan(subkucing[i][0], subkucing[i][1]);
}
}
}
</script>
<Metode FORM=Nama POST=formulir saya action=adminsave.jsp?action=add>
<TABEL>
<TR>
<TD>Klasifikasi tingkat pertama</TD>
<TD>
<PILIH nama=classId onChange=ubah lokasi(document.myform.classId.options
[document.myform.classId.selectedIndex].value) ukuran=1>
<OPTION nilai yang dipilih>==Silakan pilih kategori tingkat pertama==</OPTION>
<sql:query var=query dataSource=$>
PILIH * DARI kelas
</sql:permintaan>
<c:forEach var=item baris=$>
<nilai opsi=$>$</option>
</c:untukSetiap>
</pilih>
</TD>
<TD>Pilih kategori sekunder</TD>
<TD>
<PILIH nama=NclassId>
<OPTION nilai yang dipilih>==Silakan pilih kategori tingkat kedua==</OPTION>
</PILIH>
</TD>
</TR>
</TABEL>
</BENTUK>
</BODI>
</HTML>