最近經常被詢問的問題就是如何建立動態下拉式選單 (二階層),一個月之內被問了不下十次,其實單純要做到動態下拉式選單 (二階層) 並不困難,但是要和資料庫結合,把資料庫的資料以動態下拉式選單來建立就必須要加上一點技巧了,今天筆者也不打算做二階層的動態下拉式選單,乾脆直接挑戰三階層,再把資料庫一起結合,讓大家了解的透徹一點。
首先先讓我們看看靜態下拉式選單(三階層) 的原始程式,等你看懂了之後咱們再利用 ASP 和 SQL 來產生動態下拉式選單 (三階層):
動態下拉式選單 (三階層):
表單名稱為 myForm 第一個下拉式選單名稱為 color 顏色:
紅色">紅色
黃色">黃色
綠色">綠色
第二個下拉式選單名稱為 fruit 水果:
蘋果
蓮霧
李子
第三個下拉式選單名稱為 price 價格:
10元
20元
30元
定義顏色下拉式選單為一個一維陣列,且陣列長度為三(
表示有三種顏色) key=new Array(3);
//
定義顏色下拉式選單中第一個顏色選項為一個一維陣列,且陣列長度為三(
表示有三種水果),以下依此類推 key[0]=new Array(3);
key[1]=new Array(2);
key[2]=new Array(3);
//這邊重複定義一個陣列是為了在
指定水果下拉式選項中之水果名稱時已經把水果名稱
//指定給相關的陣列索引,這些陣列索引無法被重複定義成陣列,為了要讓價格下拉式選
//單能沿用之前所定義的陣列值,所以我們在此處另外再定義一個一模一樣的陣列索引。
key1=new Array(3);
key1[0]=new Array(3);
key1[1]=new Array(2);
key1[2]=new Array(3); //
定義水果下拉式選單中第一個水果選項為一個一維陣列,且陣列長度為三(
表示有三種
//價格)
,此水果是屬於顏色下拉式選單中之第一種顏色,以下依此類推 key1[
0][0]=new Array(3);
key1[0][1]=new Array(3);
key1[0][2]=new Array(3);
//
定義水果下拉式選單中第一個水果選項為一個一維陣列,且陣列長度為三(
表示有三種
//
價格)
,此水果是屬於顏色下拉式選單中之第二種顏色,以下依此類推 key1[1][0]=new Array(3);
key1[1][1]=new Array(3);
//
定義水果下拉式選單中第一個水果選項為一個一維陣列,且陣列長度為三(
表示有三種
//
價格)
,此水果是屬於顏色下拉式選單中之第三種顏色,以下依此類推 key1[2][0]=new Array(3);
key1[2][1]=new Array(3);
key1[2][2]=new Array(3);
//
指定水果下拉式選項中之水果名稱 //紅色
key[0][0]="蘋果";
key[0][1]="蓮霧";
key[0][2]="李子";
//黃色
key[1][0]="柳丁";
key[1][1]="葡萄柚";
//綠色
key[2][0]="芭樂";
key[2][1]="西瓜";
key[2][2]="棗子";
//
指定價格下拉式選單中各個水果的價格 //蘋果
key1[0][0][0]="10元"
key1[0][0][1]="20元"
key1[0][0][2]="30元"
//蓮霧
key1[0][1][0]="40元"
key1[0][1][1]="50元"
key1[0][1][2]="60元"
//李子
key1[0][2][0]="70元"
key1[0][2][1]="80元"
key1[0][2][2]="90元"
//柳丁
key1[1][0][0]="100元"
key1[1][0][1]="110元"
key1[1][0][2]="120元"
//葡萄柚
key1[1][1][0]="130元"
key1[1][1][1]="140元"
key1[1][1][2]="150元"
//芭樂
key1[2][0][0]="160元"
key1[2][0][1]="170元"
key1[2][0][2]="180元"
//西瓜
key1[2][1][0]="190元"
key1[2][1][1]="200元"
key1[2][1][2]="210元"
//棗子
key1[2][2][0]="220元"
key1[2][2][1]="230元"
key1[2][2][2]="240元"
//
改變顏色下拉式選單之選項值時,會觸動 Buildkey <