Le code peut être optimisé, veuillez optimiser en fonction de vos besoins
illustrer:
Donc, stockez d'abord toutes les lectures de classification dans JS Array (cela peut être un peu gênant si le volume de données est important)
Lors de la sélection, retournez l'ID de classification des parents et trouvez la classification correspondante dans le tableau, puis affichez-la à l'utilisateur
Conception de la base de données (vous pouvez ajouter des champs en fonction de vos propres besoins, à quelle catégorie cette catégorie appartient, etc.)
Description du type de champ
ID Numéro automatique Numéro d'enregistrement
Nom de classification du texte cotename
ID de classification du parent BYID Number (c'est-à-dire pour cet ID de table, la valeur du contact racine est 0)
Partie du code JS (nommé * .asp)
La copie de code est la suivante:
<% Dimconn
SetConn = server.createObject ("adodb.connection")
Conn.connectionString = "Provider = Microsoft.jet.oledb.4.0;" & _
"DataSource =" & server.mappath ("Cote.mdb")
conn.open
%>
FonctionChecklm (theValue) {
VarbyId = newArray ();
varcotename = newArray ();
variable = newArray ();
vari;
variable_s;
varbyid_s;
varcotename_s;
VARTHEVALUE_R;
vardata = '<lectName = "lm" onchange = "checklm (this.value)">'
id_s = "|";
cotename_s = '- select- |';
<% setrs = server.createObject ("adodb.recordSet")
SQL = "SELECT * FROM [DB_COTE] ORDERBYBYID, ID"
Rs.OpenSQL, Conn, 1,1
i = 0
ifnotrs.eofthen
dowhilenotrs.eof
réponse.write ("id [" & i & "] =" & rs ("id") & ";" & chr (10))
réponse.write ("byid [" & i & "] =" & rs ("byid") & ";" & chr (10))
réponse.write ("cotename [" & i & "] = '" & rs ("cotename") & "';" & chr (10))
Rs.MovEnext
i = i + 1
boucle
autre
réponse.Write ("id [0] = 0; byid [0] = 0; cotename [0] = 'no Classification';")
endire
Rs.Close
setrs = rien%>
if (theValue == null || theValue == Undefined || theValue == '') {theValue = 0;}
// if (lmvalue == null || lmvalue == Undefined || lmvalue == '') {lmvalue = 0;}
pour (k = 0; k <id.length; k ++) {