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

看板Ajax作者 (骨頭)時間17年前 (2007/11/13 16:23), 編輯推噓4(406)
留言10則, 2人參與, 最新討論串8/8 (看更多)
※ 引述《qazsd (nice play!)》之銘言: : // : //分別取得兩個選單 的reference : var oRegionList = document.getElementById('region'); : var oPlaceList = document.getElementById('place'); : //後端傳回 JSON 資料的路徑 : var sURLInit = "place.php"; : //用來儲存 JSON 的全域變數 : var json; : //一開始時先將第二個選單停用 : oPlaceList.disabled = true; : //第一個選單的 onchange 事件,用來產生第二個選單的內容 : oRegionList.onchange = function() { : //如果選擇的是第一個選項,第二個選單只顯示"請選擇",並且無法使用。 : if(this.selectedIndex == 0) { : oPlaceList.options.length = 0; : oPlaceList.options[0] = new Option("----請選擇----",0); : oPlaceList.disabled = true; : document.getElementById('place_other').innerHTML=' '; : } else { : //如果有選擇其他選項,送出 Ajax 跟後端要求第二個選單的資料。 /*try this , 猜的, 不過我想應該有幫助. */ oPlaceList.options.length = 1; /*只留下"請選擇"的選項*/ : //產生要求資料的 url,加入第一個選單所選擇的選項值作為參數 : sURL = addURLParam(sURLInit,"id",this.options[this.selectedIndex].value); : //建立 XMLHttpRequest 物件,並且送要求 : var oRequest = new XMLHttpRequest(); : oRequest.open("get", sURL, true); : //接收資料的 callback 函數 中略 : 如果有些看不到 : 請參考前幾篇裡提供的網址,從中可以下載原本的原始檔 -- 另外如果你是回在版上 , 不用順便回到我信箱 , 我都會看 . XD --  ▄▅▆▇███▇▆▅▄▃        ╰┼╯─╮ ╮         ◥███████████◣       ╰┼╯=│=│         ◥██████───────    *. ╯  ╯ ╯ の 物 語 .*  ◥███████──────◣ ~ ◢◣             ◢◣  ◥██████───────◤   ◥◤  空白的世界.翼 ◥◤  ◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂telnet://tony1223.no-ip.info -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.59.247

11/13 16:40, , 1F
YES!!成功了!! 感謝^^
11/13 16:40, 1F

11/13 16:46, , 2F
其實不一定要設為1,只要不超過兩陣列的值就好
11/13 16:46, 2F

11/13 17:18, , 3F
其實簡單來說 只要有把"其他"這選項刪掉就可以避免了
11/13 17:18, 3F

11/13 17:19, , 4F
不過斟酌前後題意我是覺得設成1比較OK XD
11/13 17:19, 4F

11/13 17:19, , 5F
刪掉"其他" 可能會跑不動喔 如果設成""還是會有該空白選項
11/13 17:19, 5F

11/13 17:20, , 6F
真要簡單的話..兩個陣列的個數弄成一樣就不用多加你那行了:)
11/13 17:20, 6F

11/13 18:03, , 7F
不過還是讓選項出現在選單裡較好,不常見的再讓使用者輸入
11/13 18:03, 7F

11/13 18:04, , 8F
因此第二個選單就不會屈就於跟第一個選單選項的數量一樣。
11/13 18:04, 8F

11/13 18:05, , 9F
更正~是國外國家的數量就不會屈就於跟台灣縣市的數量一樣:P
11/13 18:05, 9F

11/13 18:23, , 10F
呵 我沒有仔細看懂你程式的邏輯,只用一些基礎準則判斷。:P
11/13 18:23, 10F
文章代碼(AID): #17ELxakV (Ajax)
討論串 (同標題文章)
文章代碼(AID): #17ELxakV (Ajax)