Existem muitos menus de terceiro nível online, mas o código é irritante. Devo dizer que isso é bastante intuitivo:
'É definitivamente necessário se conectar ao banco de dados primeiro, escusado será dizer
'Estrutura do banco de dados
'Categoria 1 Nome da tabela: Um campo: ID, nome Descrição: ID é a chave primária e é o valor de identificação da categoria 1, o nome é o nome da categoria 1
'Categoria 2 Nome da tabela: AA Campo: ID, Ajuda, Nome Descrição: ID é a chave primária e é o valor de identificação da categoria 2, a ajuda é o valor de identificação da categoria 1 e o nome é o nome da categoria 2
'Categoria 3 Nome da tabela: AAA Campo: ID, Aid, AAID, Nome Descrição: ID é a chave primária e é o valor da ID da categoria 3, a ajuda é o valor de identificação da categoria 1, AAID é o valor de identificação da categoria 2 e o nome é o nome da categoria 3
====== Test1.asp Você pode testá -lo. Todos os valores de identificação recebidos da categoria ====
<%
Response.Write "1:" & request.form ("s1") e "<br>"
Response.Write "2:" & request.form ("s2") e "<br>"
Response.Write "3:" & request.form ("s3") & "<br>"
%>
A cópia do código é a seguinte:
<!-O menu de link de três níveis inicia->
<scriptLanguage = "javascript">
<!-
<%
'Salvar dados secundários para matriz
DimCount2, RSClass2, SQLClass2
setRsclass2 = server.createObject ("adodb.recordset")
sqlclass2 = "selecione*dea"
rsclass2.OPensqlClass2, Conn, 1,1
%>
varsubVal2 = newArray ();
// Estrutura de matriz: Valor raiz de primeiro nível, valor raiz de segundo nível, valor de exibição de segundo nível
<%
contagem2 = 0
DowhileNoTrsclass2.Eof
%>
subval2 [<%= count2%>] = newArray ('<%= rsclass2 ("AID")%>', '<%= rsclass2 ("id")%>', '<%= rsclass2 ("nome")%>')
<%
contagem2 = count2+1
rsclass2.movenext
laço
rsclass2.close
%>
<%
'Salve dados de três níveis para matar
DimCount3, RSClass3, SQLClass3
setRsclass3 = server.createObject ("adodb.recordset")
sqlclass3 = "Selecione*Fromaa"
rsclass3.OPensqlClass3, Conn, 1,1
%>
varsubVal3 = newArray ();
// Estrutura da matriz: Valor raiz de segundo nível, valor raiz do terceiro nível, valor de exibição de terceiro nível
<%
contagem3 = 0
DowhileNoTrsclass3.Eof
%>
subval3 [<%= count3%>] = newArray ('<%= rsclass3 ("aaid")%>', '<%= rsclass3 ("id")%>', '<%= rsclass3 ("nome")%>')
<%
contagem3 = count3+1
rsclass3.movenext
laço
rsclass3.close
%>
FunctionChangeselect1 (LocationId)
{
document.form1.s2.length = 0;
document.form1.s2.options [0] = newOption ('== Selecione a categoria ==', '');
document.form1.s3.Length = 0;
document.form1.s3.options [0] = newOption ('== Selecione tópico ==', '');
for (i = 0; i <subval2.Length; i ++)
{
if (subval2 [i] [0] == LocationId)