يمكن تحسين الرمز ، يرجى التحسين وفقًا لاحتياجاتك
يوضح:
لذا ، قم أولاً بتخزين جميع قراءات التصنيف في صفيف JS (قد يكون الأمر مزعجًا بعض الشيء إذا كان حجم البيانات كبيرًا)
عند الاختيار ، قم بإرجاع معرف التصنيف الأصل والعثور على التصنيف المقابل من الصفيف ، ثم عرضه إلى المستخدم
تصميم قاعدة البيانات (يمكنك إضافة حقول وفقًا لاحتياجاتك الخاصة ، وما هي الفئة التي تنتمي إليها هذه الفئة ، إلخ)
وصف نوع الحقل
رقم سجل الرقم التلقائي للمعرف
اسم تصنيف نص Cotename
معرف تصنيف الوالدين رقم BYID (أي بالنسبة لمعرف الجدول هذا ، فإن قيمة جهة الاتصال الجذرية هي 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 () ؛
متغير = newarray () ؛
vari
variable_s ؛
varbyid_s ؛
varcotename_s ؛
varthevalue_r ؛
vardata = '<selectname = "lm" onChange = "checklm (this.value)">'
id_s = "|" ؛
cotename_s = '-select- |' ؛
<٪ setrs = server.createBject ("adodb.recordset")
sql = "حدد*من [db_cote] orderbybyid ، id"
Rs.Opensql ، Conn ، 1،1
أنا = 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
حلقة
آخر
استجابة. write ("id [0] = 0 ؛ byid [0] = 0 ؛ cotename [0] = 'لا تصنيف' ؛")
Endif
Rs.close
setRs = لا شيء ٪>
if (thevalue == null || thevalue == undefined || thevalue == '') {thevalue = 0 ؛}
// if (lmvalue == null || lmvalue == undefined || lmvalue == '') {lmvalue = 0 ؛}
لـ (k = 0 ؛ k <id.length ؛ k ++) {