Je suis une personne B et je ne sais pas comment utiliser des vidéos pour résoudre le problème, je dois donc utiliser mes mots déroutants pour écrire.
Dans des circonstances normales, cette situation est utile pour les répertoires secondaires. Il existe actuellement de nombreux types de JS qui circulent sur les sites Web, mais ils ne sont tous rien de plus que ces codes JS qui rendent les gens comme moi confus. . Tout à la fois pour... tout à la fois un tableau.
Sans plus attendre, entrons dans le vif du sujet.
Vous devez d'abord créer une table. Bien entendu, si le répertoire a déjà été créé dans votre table, cette étape peut être omise. Mais il y a une chose à rappeler : ce tableau est la base de mon exemple (je ne sais pas si c’est correct).
Puisque la table que j'utilise est ACCESS, je n'entrerai pas dans la création de la table, je listerai uniquement les noms de champs correspondants de ces deux tables (nom de la base de données : db.mdb) :
Nom de la table : type_tree - Champ de classe parent : type_id (numéro automatique) type_name (nom de la catégorie)
Nom de la table : s_type - Champ de sous-classe : id (numéro automatique) s_name (nom de la sous-catégorie) type_id (ID de la classe parent) - et Correspondant à la classe parent table,
la connexion à la base de données est maintenant établie :
Dim conn, connStrSet conn = server.CreateObject("ADODB.Connection")connStr = "Provider = Microsoft.jet.oledb.4.0;"connStr = connStr & "Data Source = " & server .mappath("db.mdb")Conn.Open connStr
Il ne devrait pas être nécessaire d’expliquer les codes ci-dessus, ce sont tous des codes couramment utilisés. .
Passons maintenant à l'action réelle :)
Les menus contextuels secondaires sont généralement réalisés avec des menus déroulants, et je ne fais pas exception ici, et j'utilise également des menus déroulants pour les créer.
Mais il y a une chose qui est différente ici.
On utilise un menu sauté. C'est très important. Le succès dépend entièrement de la bonne utilisation du menu !
Vous trouverez ci-dessous le code de ce menu de saut !
<select name="first" onChange="MM_jumpMenu('parent',this,0)">
<%
sql = "sélectionnez [type_id], [type_name] dans [type_tree]"
set rs = conn.execute(sql)'Obtenir l'ID et le nom de la classe parent
si rs.eof ou rs.bof alors
réponse.write "<option>-----</option>" 'S'il n'y a aucun enregistrement, afficher -----
autre
while not(rs.eof ou rs.bof) 'S'il existe un enregistrement, indiquez le nom du parent pour former une liste déroulante.
réponse.write ("<valeur d'option='?sec=" & rs(0) & "'")
si cstr(rs(0)) = request.querystring("sec") alors
réponse.write "sélectionné"
finir si
réponse.write (">" & rs(1) & "</option>")
rs.movenext
wend
rs.movefirst 'Déplacez le curseur vers le premier élément pour une utilisation ultérieure.
finir si
%>
</sélectionner>
Oh, au fait, il y a un autre morceau de code que j'ai oublié de publier. C'est la clé pour accéder au menu. Regardez ma négligence !
Ajouter à ajouter :
<langage de script="JavaScript" type="text/JavaScript">
<!--
fonction MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
si (restaurer) selObj.selectedIndex=0 ;
}
//-->
</script>
Le code ci-dessus est collé dans <head> et est généré par DW. Je ne comprends pas très bien ce que cela signifie, donc je ne le commenterai pas :D.
Maintenant, c'est la partie secondaire du menu. Ce n'est pas un menu de saut, c'est juste une liste, donc la seule différence entre le code et le menu de saut ci-dessus est la fonction onchange.
Ce qui suit est le code de ce menu. Puisque la boucle et le jugement sont plus compliqués que ce qui précède, tout le monde devrait le lire clairement.
<select name="seconde">
<%si rs.eof ou rs.bof alors
réponse.write ("<option>--------</option>")
autre
if request.querystring("sec") = "" then 'Obtenir la valeur sec après le saut
temp=rs(0) S'il est vide, définissez la valeur de temp sur la valeur du premier enregistrement
autre
temp = request.querystring("sec") 'Sinon ce sera la valeur reçue
finir si
subsql = "sélectionnez [s_name] à partir de [s_type] où type_id='"&temp&"'"
set subrs = conn.execute(subsql) 'Liste tous les enregistrements dont les données sont temporaires
si subrs.eof ou subrs.bof alors
réponse.write ("<option>-----</option>")
'S'il n'y a pas d'enregistrement, affichez "-----" dans cette liste
autre
while not(subrs.eof ou subrs.bof)' Sinon, utilisez une boucle pour lister tous les enregistrements qui remplissent les conditions.
réponse.write ("<option value=" & subrs(0) & ">" & subrs(0) & "</option>")
subrs.movenext
wend
finir si
end if
'Fermer tous les jeux d'enregistrements
subrs.close
définir les subrs = rien
rs.fermer
setrs = rien
connexion.fermer
définir la connexion = rien
%>
</select>
Jusqu'à présent, le processus de création de ce menu secondaire est terminé. C'est très simple comme je l'ai expliqué.
Si vous ne comprenez pas, arrêtez de parler. De toute façon, je ne sais plus quoi dire.
Les experts sont prêts à vous donner des conseils.