Re: [問題] 選擇了選單的某一選項後,要能出現文字欄位
我將
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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 4 之 8 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章