請問各位大大, 利用JAVASCRIPT作三層選單, 有何限制?

edited 十月 2013 in Javascript
我的情況是這樣,
在同一頁面需要作2個三層選單,
大概都是12x12x12大小,
第一個完成後, 試用無誤,
但是第二個就無法順利使用,
情況在第二階選單後,
就無法順利展開第三階,
已經檢查程式碼無誤,
但是就是無法顯現,
請問是否有容量限制?
還是可能有其他問題?
如果我把第二個三層選單,
獨立成為一個新頁面就可以使用,
有人知道為什麼嗎?
已經嘗試三種 JAVASCRIPT寫法,
仍然有相同情況,
請大大幫忙

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=3785

評論

  • edited 十二月 2008
    我想這時候直接貼程式碼會單純些
  • edited 十二月 2008
    我猜id有重複吧?
  • edited 十二月 2008
    我把兩個三層選單都貼出來,
    但是發現只要離開原頁面,
    執行就正常,
    不知道是怎麼回事???
    可以請大大們告知一下
    (附註一下我並沒有按慣例將<script type="text/javascript">放在<head>裡面, 不知道是這個影響嗎?)
    另外再執行原頁面時會出現"必須要有物件的錯誤訊息",
    請問這是什麼意思?
    煩請大大們幫忙,
    謝謝


    <script type="text/javascript">

    function node(name, child){
    this.name=name;
    this.child=child;
    }

    function dataHierarchy(){
    // 台灣地區
    var taiwan=new Array();
    var i=0;
    taiwan[i++]=new node("台北市", ["中正區", "大安區", "大同區", "信義區", "中山區", "北投區", "萬華區", "士林區", "內湖區", "南港區", "文山區", "松山區", "北投區"]);
    taiwan[i++]=new node("台北縣", ["中和市", "板橋市", "永和市", "新店市", "汐止市", "土城市", "三峽鎮", "樹林市", "三重市", "新莊市", "雙溪鄉", "貢寮鄉", "萬里鄉", "坪林鄉", "烏來鄉", "金山鄉", "深坑鄉", "石碇鄉", "鶯歌鎮", "瑞芳鎮", "平溪鄉"]);
    taiwan[i++]=new node("基隆市", ["信義區", "仁愛區", "中正區", "中山區", "安樂區", "暖暖區", "七堵區"]);
    taiwan[i++]=new node("宜蘭縣", ["宜蘭市", "頭城鎮", "礁溪鄉", "壯圍鄉", "員山鄉", "羅東鎮", "三星鄉", "大同鄉", "五結鄉", "冬山鄉", "蘇澳鎮", "南澳鄉"]);
    taiwan[i++]=new node("桃園縣", ["中壢市", "平鎮市", "龍潭鄉", "楊梅鎮", "新屋鄉", "觀音鄉", "桃園市", "龜山鄉", "八德市", "大溪鎮", "復興鄉", "大園鄉", "蘆竹鄉"]);
    taiwan[i++]=new node("新竹縣市", ["新竹市", "竹北市", "湖口鄉", "新豐鄉", "新埔鎮", "關西鎮", "芎林鄉", "寶山鄉", "竹東鎮", "五峰鄉", "橫山鄉", "尖石鄉", "北埔鄉", "峨眉鄉"]);
    taiwan[i++]=new node("苗栗縣", ["竹南鎮", "頭份鎮", "三灣鄉", "南庄鄉", "獅潭鄉", "後龍鎮", "通霄鎮", "苑裡鎮", "苗栗市", "造橋鄉", "頭屋鄉", "公館鄉", "大湖鄉", "泰安鄉", "銅鑼鄉", "三義鄉", "西湖鄉", "卓蘭鎮"]);
    taiwan[i++]=new node("台中市", ["中區", "東區", "西區", "北區", "南區", "北屯區", "西屯區", "南屯區"]);
    taiwan[i++]=new node("台中縣", ["太平市", "大里市", "霧峰鄉", "后里鄉", "烏日鄉", "豐原市", "石岡鄉", "東勢鎮", "和平鄉", "新社鄉", "潭子鄉", "大雅鄉", "神岡鄉", "大肚鄉", "沙鹿鎮", "龍井鄉", "梧棲鎮", "清水鎮", "大甲鎮", "外埔鄉", "大安鄉"]);
    taiwan[i++]=new node("彰化縣", ["彰化市", "芬園鄉", "花壇鄉", "秀水鄉", "鹿港鎮", "福興鄉", "線西鄉", "和美鎮", "伸港鄉", "員林鎮", "社頭鄉", "永靖鄉", "埔心鄉", "溪湖鎮", "大村鄉", "埔鹽鄉", "田中鎮", "北斗鎮", "田尾鄉", "埤頭鄉", "溪州鄉"]);
    taiwan[i++]=new node("南投縣", ["南投市", "中寮鄉", "草屯鎮", "國姓鄉", "埔里鎮", "仁愛鄉", "名間鄉", "集集鎮", "水里鄉", "魚池鄉", "信義鄉", "竹山鎮", "鹿谷鄉"]);
    taiwan[i++]=new node("雲林縣", ["斗南鎮", "大埤鄉", "虎尾鎮", "土庫鎮", "褒忠鄉", "東勢鄉", "臺西鄉", "崙背鄉", "麥寮鄉", "斗六市", "林內鄉", "古坑鄉", "莿桐鄉", "西螺鎮", "二崙鄉", "北港鎮", "水林鄉", "口湖鄉", "四湖鄉", "元長鄉"]);
    taiwan[i++]=new node("嘉義縣市", ["嘉義市", "番路鄉", "梅山鄉", "竹崎鄉", "阿里山鄉", "中埔鄉", "大埔鄉", "水上鄉", "鹿草鄉", "太保市", "朴子市", "東石鄉", "六腳鄉", "新港鄉", "民雄鄉", "大林鎮", "溪口鄉", "義竹鄉", "布袋鎮"]);
    taiwan[i++]=new node("台南市", ["中西區", "東區", "南區", "北區", "安平區", "安南區"]);
    taiwan[i++]=new node("台南縣", ["永康市", "歸仁鄉", "新化鎮", "左鎮鄉", "玉井鄉", "楠西鄉", "南化鄉", "仁德鄉", "關廟鄉", "龍崎鄉", "官田鄉", "麻豆鎮", "佳里鎮", "西港鄉", "七股鄉", "將軍鄉", "學甲鎮", "北門鄉", "新營市", "後壁鄉", "白河鎮", "東山鄉", "六甲鄉", "下營鄉", "柳營鄉", "鹽水鎮", "善化鎮", "大內鄉", "山上鄉", "新市鄉", "安定鄉"]);
    taiwan[i++]=new node("高雄市", ["新興區", "前金區", "苓雅區", "鹽埕區", "鼓山區", "旗津區", "前鎮區", "三民區", "楠梓區", "小港區", "左營區"]);
    taiwan[i++]=new node("高雄縣", ["仁武鄉", "大社鄉", "岡山鎮", "路竹鄉", "阿蓮鄉", "田寮鄉", "燕巢鄉", "橋頭鄉", "梓官鄉", "彌陀鄉", "永安鄉", "湖內鄉", "鳳山市", "大寮鄉", "林園鄉", "鳥松鄉", "大樹鄉", "旗山鎮", "美濃鎮", "六龜鄉", "內門鄉", "杉林鄉", "甲仙鄉", "桃源鄉", "三民鄉", "茂林鄉", "茄萣鄉"]);
    taiwan[i++]=new node("屏東縣", ["屏東市", "三地門鄉", "霧臺鄉", "瑪家鄉", "九如鄉", "里港鄉", "高樹鄉", "鹽埔鄉", "長治鄉", "麟洛鄉", "竹田鄉", "內埔鄉", "萬丹鄉", "潮州鎮", "泰武鄉", "來義鄉", "萬巒鄉", "崁頂鄉", "新埤鄉", "南州鄉", "林邊鄉", "東港鎮", "琉球鄉", "佳冬鄉", "新園鄉", "枋寮鄉", "枋山鄉", "春日鄉", "獅子鄉", "車城鄉", "牡丹鄉", "恆春鎮", "滿洲鄉"]);
    taiwan[i++]=new node("臺東縣", ["臺東市", "綠島鄉", "蘭嶼鄉", "延平鄉", "卑南鄉", "鹿野鄉", "關山鎮", "海端鄉", "池上鄉", "東河鄉", "成功鎮", "長濱鄉", "太麻里鄉", "金峰鄉", "大武鄉", "達仁鄉"]);
    taiwan[i++]=new node("花蓮縣", ["花蓮市", "新城鄉", "秀林鄉", "吉安鄉", "壽豐鄉", "鳳林鎮", "光復鄉", "豐濱鄉", "瑞穗鄉", "萬榮鄉", "玉里鎮", "卓溪鄉", "富里鄉"]);
    taiwan[i++]=new node("澎湖縣", ["馬公市", "西嶼鄉", "望安鄉", "七美鄉", "白沙鄉", "湖西鄉"]);
    taiwan[i++]=new node("金門縣", ["金沙鎮", "金湖鎮", "金寧鄉", "金城鎮", "烈嶼鄉", "烏坵鄉"]);
    taiwan[i++]=new node("連江縣", ["南竿鄉", "北竿鄉", "莒光鄉", "東引鄉"]);
    // 大陸地區
    var china=new Array();
    var i=0;
    china[i++]=new node("東北", ["遼寧省", "吉林省", "黑龍江省"]);
    china[i++]=new node("西北", ["陝西省", "甘肅省", "青海省", "寧夏回族自治區", "新疆維吾爾自治區"]);
    china[i++]=new node("華北", ["北京市", "天津市", "河北省", "山西省", "內蒙古自治區"]);
    china[i++]=new node("華東", ["山東省", "江蘇省", "安徽省", "浙江省", "江西省", "福建省", "上海市"]);
    china[i++]=new node("西南", ["四川省", "雲南省", "貴州省", "西藏自治區", "重慶市"]);
    china[i++]=new node("中南", ["河南省", "湖北省", "湖南省", "廣東省", "廣西壯族自治區", "海南省"]);
    china[i++]=new node("特別行政區", ["香港特別行政區", "澳門特別行政區"]);
    // 亞洲地區
    var asia=new Array();
    var i=0;
    asia[i++]=new node("東北亞", ["日本", "北韓", "南韓"]);
    asia[i++]=new node("東南亞", ["菲律賓", "越南", "寮國", "柬埔寨", "緬甸", "馬來西亞", "泰國", "新加坡", "汶萊", "印尼"]);
    asia[i++]=new node("其他亞洲", ["阿富汗", "巴林", "伊朗", "以色列", "伊拉克", "約旦", "科威特", "黎巴嫩", "阿曼", "卡達", "沙烏地阿拉伯", "敘利亞", "土耳其", "阿拉伯大公國", "葉門", "孟加拉", "不丹", "印度", "馬爾地夫", "尼泊爾", "巴基斯坦"]);
    // 北美地區
    var n_amerinca=new Array();
    var i=0;
    n_amerinca[i++]=new node("加拿大", ["艾伯塔省(Alberta)" , "英屬哥倫比亞省(British Columbia)" , "緬尼托巴省(Manitoba)", "紐芬蘭與拉布拉多省(Newfoundland and Labrador)", "新不倫瑞克省(New Brunswick)", "西北地區(Northwest Territories)" , "新斯科舍省(Nova Scotia)", "努納武特地區(Nunavut)",
    "安大略省(Ontario)", "愛德華王子島省(Prince Edward Island)", "魁北克省(Quebec)", "薩斯喀徹溫省(Saskatchewan)", "育康地區(Yukon)" ]);
    n_amerinca[i++]=new node("美國東部", ["康乃狄克州", "麻塞諸塞州", "緬因州", "新罕布什爾州", "羅得島州", "佛蒙特州", "哥倫比亞特區州", "德拉瓦州", "馬里蘭州", "新澤西州", "紐約州", "賓夕凡尼亞州", "阿拉巴馬州", "阿肯色州", "佛羅里達州", "喬治亞州", "肯塔基州", "易斯安那州", "密西西比州", "北卡羅萊納州", "南卡羅萊納州", "田納西州", "維吉尼亞州", "西維吉尼亞州"]);
    n_amerinca[i++]=new node("美國西部", ["加利佛尼亞州", "科羅拉多州", "愛達荷州", "蒙大拿州", "內華達州", "俄勒岡州", "猶他州", "華盛頓州", "懷俄明州", "阿拉斯加州", "夏威夷州", "關島"]);
    n_amerinca[i++]=new node("美國中部", ["愛荷華州", "伊利諾州", "印地安那州", "堪薩斯州", "密西根州", "明尼蘇達州", "密蘇里州", "北達科達州", "內布拉斯加州", "俄亥俄州", "南達科達州", "威斯康辛州", "亞利桑那州", "新墨西哥州", "奧克拉荷馬州", "德克薩斯州"]);
    // 中南洲美地區
    var s_amerinca=new Array();
    var i=0;
    s_amerinca[i++]=new node("中美洲", ["貝里斯", "哥斯大黎加", "薩爾瓦多", "瓜地馬拉", "宏都拉斯", "尼加拉瓜", "巴拿馬", "墨西哥", "聖文森"]);
    s_amerinca[i++]=new node("南美洲", ["巴拉圭", "巴西", "智利", "玻利維亞", "秘魯", "蘇利南", "阿根廷", "烏拉圭", "厄瓜多", "哥倫比亞", "多明尼加"]);
    // 大洋洲地區
    var oceania=new Array();
    var i=0;
    oceania[i++]=new node("紐澳", ["澳州", "紐西蘭", "巴布亞紐幾內亞"]);
    oceania[i++]=new node("大洋洲", ["庫克群島", "斐濟", "吉里巴斯", "馬爾地夫", "馬紹爾群島", "密克羅尼西亞", "諾魯", "紐埃", "帛琉", "薩摩亞", "索羅門群島", "東加", "吐瓦魯", "萬那杜"]);
    // 歐洲地區
    var europe=new Array();
    var i=0;
    europe[i++]=new node("中歐", ["奧地利", "捷克", "德國", "匈牙利", "列支敦斯登", "波蘭", "斯洛伐克", "瑞士"]);
    europe[i++]=new node("北歐", ["挪威", "瑞典", "芬蘭", "丹麥", "冰島", "阿爾巴尼亞", "安道爾"]);
    europe[i++]=new node("西歐", ["比利時", "法國", "愛爾蘭", "盧森堡", "摩納哥", "荷蘭", "英國"]);
    europe[i++]=new node("南歐", ["波士尼亞赫塞哥維納", "保加利亞", "克羅埃西亞", "賽普勒斯", "希臘", "義大利", "馬其頓", "馬爾他", "葡萄牙", "羅馬尼亞", "聖馬利諾", "塞爾維亞和黑山", "斯洛維尼亞", "西班牙"]);
    europe[i++]=new node("東歐", ["白俄羅斯", "愛沙尼亞", "拉脫維亞", "立陶宛", "摩爾多瓦", "俄羅斯", "烏克蘭"]);
    // 非洲地區
    var africa=new Array();
    var i=0;
    africa[i++]=new node("北非", ["阿爾及利亞", "埃及", "利比亞", "蘇丹", "突尼西亞", "西撒哈拉", "摩洛哥"]);
    africa[i++]=new node("中非", ["中非", "喀麥隆", "赤道幾內亞", "加彭", "剛果", "剛果(金)", "聖多美和普林西比"]);
    africa[i++]=new node("南非", ["安哥拉", "波札那", "賴索托", "馬達加斯加", "馬拉威", "模里西斯", "莫三比克", "納米比亞", "史瓦濟蘭", "南非", "坦尚尼亞", "尚比亞", "辛巴威", "留尼旺", "聖赫倫那"]);
    africa[i++]=new node("東非", ["衣索比亞", "蒲隆地", "厄利垂亞", "吉布地", "葛摩", "肯亞", "盧安達", "塞席爾", "索馬利亞", "坦尚尼亞", "玻利維亞"]);
    africa[i++]=new node("西非", ["貝南", "布吉納法索", "查德", "赤道幾內亞", "多哥", "維德角", "甘比亞", "幾內亞", "幾內亞比索", "迦納", "加彭", "喀麥隆", "象牙海岸", "賴比瑞亞", "馬利", "尼日", "奈及利亞", "獅子山", "塞內加爾", "聖多美和普林西比"]);

    // 地區類別
    var output=new Array();
    var i=0;
    output[i++]=new node("台灣地區", taiwan);
    output[i++]=new node("大陸地區", china);
    output[i++]=new node("亞洲區", asia);
    output[i++]=new node("北美洲", n_amerinca);
    output[i++]=new node("中南美洲", s_amerinca);
    output[i++]=new node("紐澳大洋洲", oceania);
    output[i++]=new node("歐洲", europe );
    output[i++]=new node("非洲", africa );
    return(output);
    }
    dataTree=dataHierarchy();

    // 第三個欄位被更動後的反應動作
    function onChangeColumn3(){
    updatePath();
    }

    // 第二個欄位被更動後的反應動作
    function onChangeColumn2(){
    form=document.job_data;
    index1=form.area.selectedIndex;
    index2=form.county.selectedIndex;
    index3=form.city.selectedIndex;
    // Create options for column 3
    for (i=0;i<dataTree[index1].child[index2].child.length;i++)
    form.city.options=new Option(dataTree[index1].child[index2].child, dataTree[index1].child[index2].child);
    form.city.options.length=dataTree[index1].child[index2].child.length;
    updatePath();
    }

    // 第一個欄位被更動後的反應動作
    function onChangeColumn1() {
    form=document.job_data;
    index1=form.area.selectedIndex;
    index2=form.county.selectedIndex;
    index3=form.city.selectedIndex;
    // Create options for column 2
    for (i=0;i<dataTree[index1].child.length;i++)
    form.county.options=new Option(dataTree[index1].child.name, dataTree[index1].child.name);
    form.county.options.length=dataTree[index1].child.length;
    // Clear column 3
    form.city.options.length=0;
    updatePath();
    }

    </script>

    <script type="text/javascript">

    function model(name1, child1){
    this.name1=name1;
    this.child1=child1;
    }

    function dataHierarchy1(){
    // 半導體
    var semiconductor=new Array();
    var i=0;
    semiconductor[i++]=new model("銷售/行銷", ["工讀生/Part Time", "助理", "助理專員", "專員", "資深專員", "高級專員", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    semiconductor[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    semiconductor[i++]=new model("銷售/行銷", ["工讀生/Part Time", "助理", "助理專員", "專員", "資深專員", "高級專員", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    semiconductor[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    // 太陽能
    var solar=new Array();
    var i=0;
    solar[i++]=new model("銷售/行銷", ["工讀生/Part Time", "助理", "助理專員", "專員", "資深專員", "高級專員", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    solar[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    solar[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    solar[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    // 亞洲地區
    var photonics=new Array();
    var i=0;
    photonics[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    photonics[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    photonics[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    photonics[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    // 北美地區
    var it_hardware=new Array();
    var i=0;
    it_hardware[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    it_hardware[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    it_hardware[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    it_hardware[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    // 中南洲美地區
    var it_software=new Array();
    var i=0;
    it_software[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    it_software[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    // 大洋洲地區
    var tradition=new Array();
    var i=0;
    tradition[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    tradition[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    // 歐洲地區
    var optics=new Array();
    var i=0;
    optics[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    optics[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    optics[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    optics[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    optics[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    // 非洲地區
    var em=new Array();
    var i=0;
    em[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    em[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    em[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    em[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);
    em[i++]=new model("環安/工安", ["工讀生/Part Time", "助理", "助理工程師", "工程師", "資深工程師", "高級工程師", "副課長", "課長", "專案經理", "副理", "經理", "資深經理", "副處長", "處長/協理", "副總", "事業部主管", "執行副總"]);


    // 地區類別
    var output1=new Array();
    var i=0;
    output1[i++]=new model("半導體", semiconductor);
    output1[i++]=new model("太陽能", solar);
    output1[i++]=new model("光電產業", photonics);
    output1[i++]=new model("資訊硬體", it_hardware);
    output1[i++]=new model("資訊軟體", it_software);
    output1[i++]=new model("傳統產業/消費性產業", tradition);
    output1[i++]=new model("精密光學", optics);
    output1[i++]=new model("電機/機械", em);
    return(output1);
    }
    dataTree1=dataHierarchy1();

    // 第三個欄位被更動後的反應動作
    function onChangeColumn3_1(){
    updatePath1();
    }

    // 第二個欄位被更動後的反應動作
    function onChangeColumn2_1(){
    form1=document.job_data;
    index_1=form1.job_industry.selectedIndex;
    index_2=form1.job_area.selectedIndex;
    index_3=form1.job_title.selectedIndex;
    // Create options for column 3
    for (i=0;i<dataTree1[index_1].child1[index_2].child1.length;i++)
    form1.job_title.options=new Option(dataTree1[index_1].child1[index_2].child1, dataTree1[index_1].child1[index_2].child1);
    form1.job_title.options.length=dataTree1[index_1].child1[index_2].child1.length;
    updatePath1();
    }

    // 第一個欄位被更動後的反應動作
    function onChangeColumn1_1() {
    form1=document.job_data;
    index_1=form1.job_industry.selectedIndex;
    index_2=form1.job_area.selectedIndex;
    index_3=form1.job_title.selectedIndex;
    // Create options for column 2
    for (i=0;i<dataTree1[index_1].child1.length;i++)
    form1.job_area.options=new Option(dataTree1[index_1].child1.name1, dataTree1[index_1].child1.name1);
    form1.job_area.options.length=dataTree1[index_1].child1.length;
    // Clear column 3
    form1.job_title.options.length=0;
    updatePath1();
    }

    </script>


    <form name="job_data" method="post" action="../business/job_process.php">

    <select name="area" size=10 onChange="onChangeColumn1();">
    <script>
    for (i=0; i<dataTree.length; i++)
    document.writeln("<option value=\""+dataTree.name+"\">"+dataTree.name);
    </script>
    </select>
    <select name="county" size=10 id="country" onChange="onChangeColumn2();">
    </select>
    <select name="city" size=10 id="city" onChange="onChangeColumn3();">
    </select>
    <p>
    <select name="job_industry" size=10 onChange="onChangeColumn1_1();">
    <script>
    for (i=0; i<dataTree1.length; i++)
    document.writeln("<option value=\""+dataTree1.name1+"\">"+dataTree1.name1);
    </script>
    </select>
    <select name="job_area" size=10 id="job_area" onChange="onChangeColumn2_1();">
    </select>
    <select name="job_title" size=10 id="job_title" onChange="onChangeColumn3_1();">
    </select>
    </form>
  • edited 十二月 2008
    目前直接貼到網頁執行時只有看到 updatePath() 與 updatePath1() 不存在的錯誤(不過是在 Linux + Firefox ...)
Sign In or Register to comment.