コードを最適化できます。ニーズに応じて最適化してください
説明:
したがって、最初にJSアレイにすべての分類測定値を保存します(データボリュームが大きい場合は少し面倒かもしれません)
選択するときは、親分類IDを返して、配列から対応する分類を見つけてから、ユーザーに表示します。
データベース設計(自分のニーズに応じてフィールドを追加できます。このカテゴリはどのカテゴリに属しますかなど)
フィールドタイプの説明
ID自動番号レコード番号
cotenameテキスト分類名
BYID番号親分類ID(つまり、このテーブルIDの場合、ルート接点の値は0です)
JSコードの一部(名前 *.asp)
コードコピーは次のとおりです。
<%dimconn
setConn = server.createObject( "adodb.connection")
conn.connectionString = "provider = microsoft.jet.oledb.4.0;"&_
"dataSource ="&server.mappath( "cote.mdb")
conn.open
%>
functionchecklm(thevalue){
varbyid = newArray();
varcotename = newArray();
variable = newArray();
Vari;
variable_s;
varbyid_s;
varcotename_s;
varthevalue_r;
vardata = '<selectname = "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
dowhileenotrs.eof
respons.write( "id ["&i& "="&rs( "id")& ";"&chr(10)))
respons.write( "byid ["&i& "] ="&rs( "byid")& ";"&chr(10))
respons.write( "cotename ["&i& "= '"&rs( "cotename")& "';"&chr(10))
rs.movenext
i = i+1
ループ
それ以外
respons.write( "id [0] = 0; byid [0] = 0; cotename [0] = 'no lassification';")
endif
rs.close
setrs = Nothing%>
if(theValue == null || theValue == undefined || theValue == ''){theValue = 0;}
// if(lmvalue == null || lmvalue == undefined || lmvalue == ''){lmvalue = 0;}
for(k = 0; k <id.length; k ++){