코드를 최적화 할 수 있습니다. 귀하의 요구에 따라 최적화하십시오.
설명 :
따라서 먼저 JS 배열에 모든 분류 판독 값을 저장합니다 (데이터 볼륨이 큰 경우 약간 번거로울 수 있습니다).
선택할 때 부모 분류 ID를 반환하고 배열에서 해당 분류를 찾은 다음 사용자에게 표시합니다.
데이터베이스 디자인 (자신의 요구에 따라 필드를 추가 할 수 있습니다.
필드 유형 설명
ID 자동 번호 기록 번호
coteName 텍스트 분류 이름
byid 번호 상위 분류 ID (즉,이 테이블 ID의 경우 루트 접점의 값은 0입니다)
JS 코드의 일부 ( *.asp)
코드 사본은 다음과 같습니다.
<%dimconn
setconn = server.createobject ( "adodb.connection")
conn.connectionstring = "제공자 = microsoft.jet.oledb.4.0;"& _
"DataSource ="& server.mappath ( "cote.mdb")
CONN.OPEN
%>
functionchecklm (value) {
varbyId = newArray ();
varcotename = newArray ();
변수 = 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 = "[db_cote] OrderByByid, id에서 선택*선택*
Rs.Opensql, Conn, 1,1
i = 0
ifnotrs.eofthen
dowhilenotrs.eof
response.write ( "id ["& i & "] ="& rs ( "id") & ";"& chr (10))
response.write ( "byid ["& i & "] ="& rs ( "byid") & ";"& chr (10))
response.write ( "cotename ["& i & "] = '"& rs ( "cotename") & ";"& chr (10))
rs.movenext
i = i+1
고리
또 다른
response.write ( "id [0] = 0; byid [0] = 0; cotename [0] = '분류 없음';")
endif
Rs.Close
setrs = nothing%>
if (thevalue == null || value == undefined || thevalue == '') {thevalue = 0;}
// if (lmvalue == null || lmvalue == undefined || lmvalue == '') {lmvalue = 0;}
for (k = 0; k <id.length; k ++) {