看板 Web_Design 關於我們 聯絡資訊
※ 引述《rushcat (嗯)》之銘言: : 目前是想做兩個radio 當 radio a 的值為1的時候 radio b 才會跑出來 : 爬了一下文 有找到div的用法@"@ : 但是有點怪怪的XD [script部分恕刪] 我覺得你的說法怪怪的。 因為兩個radio都是a,但個別的value是固定的。 與其說"radio a的值為1的時候要如何", 不如改為"被點選的那個radio a的值為1時要如何"比較正確。 : <div id="test1" style="display:block" > : <input type="radio" name="a" value="1" id="aaa" onblur="show(test2)" /> : <input type="radio" name="a" value="2" id="aaa" onblur="show(test2)" /> : </div> : <div id="test2" style="display:none"> : <input type="radio" name="b" value="1" /> : <input type="radio" name="b" value="2" /> : </div> : 目前是按a 第二個 b不會出來 按第一個會出來 : 但是再按一次第二個 他還是不會不見XD (有點像繞口令) : 簡單來說 就是出的來 收不回去...orz : 請問是哪裡出了錯 : 感激大家!!~ 以下是舉例: <input type="radio" name="a" value="1" onclick="show(this)"/> <input type="radio" name="a" value="2" onclick="show(this)"/> function show(obj){ if (obj.value == "1"){ //value為1的radio被點選→顯示test2 } else { //value為2的radio被點選→隱藏test2 } } 你也可以把obj.type,obj.value,obj.name這些, 用alert丟出來看,就像alert(obj.type);這樣,看看內容是什麼。 我覺得這種寫法很好用就是 XD 忘了補充一點,寫多個同樣的id,在其他瀏覽器會怎樣我不清楚, 但是在IE上面並不會出錯。只是document.getElementById抓到的, 一定會是第一個id,抓不到後面的。所以原PO抓到的aaa,永遠都是 value為1的aaa,自然不會有2的情形出現。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.229.7.173 ※ 編輯: ckw 來自: 61.229.7.173 (07/06 00:37)
rushcat:sorry...XDD 因為最近才剛開始接觸JS的東西 完全沒有概念 07/06 00:41
rushcat:至於最前面的那段 因為我把radio看成是一個單選元件 07/06 00:43
rushcat:所以認定他們是一組的 才會有這樣的說法...XD 07/06 00:43
ckw:javascript要debug比較麻煩,若一直找不到,就要alert 07/06 00:44
ckw:以你的為例,為何一直跑不進else呢? 07/06 00:45
ckw:那就把obj.value丟出來看,就會發現兇手是他了 07/06 00:45
ckw:至於radio本來就是單選元件啊,所以name一定要相同 07/06 00:46
ckw:不同的話會變成好幾個都被點選 XDD 07/06 00:47
rushcat:所以我才會說出"radio a的值為1"的這種說法...XD 07/06 00:48
elan:ckw想說的是雖然name都是a 但實際上是個別的element 07/06 12:18
elan:乾脆改成"值為1的radio a"好了 07/06 12:20
elan:ckw兄您就別抓語病了 中文的邏輯結構本來就比較鬆散 07/06 12:22
ckw:我只是想表達若想法錯了,code就有可能寫錯這樣啦:P 07/06 12:54
rushcat:了解!!! 上了很棒的一課:p 07/06 13:12