Re: [問題] 選擇了選單的某一選項後,要能出現文字欄位

看板Ajax作者 (nice play!)時間17年前 (2007/11/13 15:41), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/8 (看更多)
我將 if(this.selectedIndex == 0) { oPlaceList.options.length = 0; oPlaceList.options[0] = new Option("----請選擇----",0); oPlaceList.disabled = true; 底下加了這行就OK了 document.getElementById('place_other').innerHTML=' '; 不過現在還有一個小問題就是... 當第一個選單是選第二個選項時,緊接著再選第一個選項 那麼第二個選單就會有兩個"其他" (這不是繞口令) 處理選單的網頁原始碼如下: <?php $i = 0; $j = $_GET['id']; $county=array("---請選擇---","基隆市","台北市","台北縣","桃園縣", "新竹市","新竹縣","苗栗縣","台中市","台中縣","彰化縣","南投縣","雲林縣", "嘉義市","嘉義縣","台南市","台南縣","高雄市","高雄縣","屏東縣","宜蘭縣", "花蓮縣","台東縣","澎湖縣","金門縣","連江縣"); $nation=array("---請選擇---","日本","韓國","大陸","香港","新加坡", "馬來西亞","泰國","越南","緬甸","柬埔寨","紐西蘭","澳大利亞","美國", "加拿大","英國","法國","德國","西班牙","葡萄牙","義大利","瑞士","希臘", "羅馬","比利時","奧地利","荷蘭"); ?> [ <?php if($j=="國內"){ for($i=0;$i<count($county);$i++) {?> { text:"<?php echo $county[ $i]; ?>", value:"<?php echo $county[ $i]; ?>" }, <?php } ?> <?php }elseif($j=="國外"){ for($i=0;$i<count($nation);$i++) {?> { text:"<?php echo $nation[ $i]; ?>", value:"<?php echo $nation[ $i]; ?>" }, <?php } ?> <?php }else ?> { text:"其他", value:"其他" } ] 然後選單的原始碼如下: <select name="region" id="region" > <option value="0">---請選擇地點---</option> <option value="國內">台灣本島</option> <option value="國外">國外</option> </select> <select name="place" id="place"> <option value="0">----請選擇----</option> </select> <span id="place_other"></span></div> ※ 引述《TonyQ (骨頭)》之銘言: <select name="region" id="region" > : 標題: Re: [問題] 選擇了選單的某一選項後,要能出現文字欄位 : 時間: Tue Nov 13 08:52:32 2007 : : : ※ 引述《qazsd (nice play!)》之銘言: : : 我弄出來了:D : : 原本是參考 http://tw.myblog.yahoo.com/class2u-com/article?mid=2 : : 範例檔:http://www.class2u.idv.tw/example/ajax_menu.zip : : 後來我追加了下面這段 : : oPlaceList.onchange = function() { : : if(this.options[this.selectedIndex].value == "其他") { : : document.getElementById('other').innerHTML=' <input : : name="address" type="text" id="address" size="40" />'; : : }else : : document.getElementById('other').innerHTML=' '; : : } : : 讓選"其他"的時候,在旁邊會多出一個文字欄位讓使用者可以輸入。 : : 不過現在有個問題就是.. : : 當選了第二層的"其他" 而出現該文字欄位時 : : 再回頭去將第一層改成"---請選擇---",如此一來第二層也會變成"---請選擇---" : : 這時候就要去看第一層的onchange : : 在它把第二層改成"請選擇"的時候 一率把那個other address給拿掉 : (document.getElementById('other').innerHTML=' ';) : : 反正前面有更動後面就歸0變成原本的 , 這很正常。 : : : 但是已經出現的該文字欄位,卻不會消失 : : 除非是先將第二層選成非"其他"的項目 ~"~ : : : : -- :  ▄▅▆▇███▇▆▅▄▃        ╰┼╯─╮ ╮        :  ◥███████████◣       ╰┼╯=│=│         : ◥██████───────◣    *. ╯  ╯ ╯ の 物 語 .* :  ◥███████──────◣ ~ ◢◣             ◢◣ :  ◥██████───────◤   ◥◤*  空白的世界.翼 *◥◤ :  ◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂~telnet://tony1223.no-ip.info : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 220.132.59.247 : 推 qazsd:Yes!!成功了!! 11/13 15:31 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.20.190
文章代碼(AID): #17ELKycj (Ajax)
討論串 (同標題文章)
文章代碼(AID): #17ELKycj (Ajax)