2014-09-26 147 views
0

大家好我得到我的代碼都很漂亮,但問題是,它有點bug。當您選擇實際隱藏某個部分的字段,然後選擇隱藏該部分的字段時,「隱藏」部分仍然存在一段時間! 下面你將看到我的代碼上codepen:http://codepen.io/Nestalna/details/qpjsy基於dropdown顯示/隱藏部分-js

的Javascript:

function show(aval) { 
    if (aval == "1") { 
     optionyes.style.visibility='visible'; 
     optionyes.style.display='block'; 
     Form.fileURL.focus(); 
    } 
    if (aval == "0") { 
     optionyes.style.visibility='hidden'; 
     optionyes.style.display='none'; 
    } 
} 

HTML:

<div class="row"> 
      <label id="title" for="degree">Which degree are you interested in? </label><br /> 

       <select id="degree" name="degree" onchange="java_script_:show(this.options[this.selectedIndex].value)" > 
        <option selected="selected" value="Please select one"> Please select one </option> 
        <option value="0" > Concurrent Enrolment </option> 
        <option value="1" > 2015 Applied Bioethics Summer Study </option> 
        <option value="2"> Non Degree (9 hours or less) </option> 
       </select> 
     </div>  

     <div id="optionyes" style="visibility:hidden" >You have selected <strong>red option</strong> so i am here </div> 
+3

仔細檢查你的鏈接到codepen.io - 它爲我返回404。 – Moob 2014-09-26 15:50:04

+0

對不起,嘗試:http://codepen.io/Nestalna/details/qpjsy – Nestalna 2014-09-26 15:51:23

回答

1

如果選擇 '2' 不隱藏在所有。你只想顯示它,如果aval == 1的權利?因此,改變if (aval == "0") {else {

function show(aval) {  
    if (aval == "1") {//if 1 then show it 
     optionyes.style.visibility='visible'; 
     optionyes.style.display='block'; 
     Form.fileURL.focus(); 
    } 
    else {//for everything else hide it 
     optionyes.style.visibility='hidden'; 
     optionyes.style.display='none'; 
    }  
} 

http://codepen.io/anon/pen/ywcqf

+0

你真了不起,非常感謝你!我必須更多地接受java的培訓。我昨天才開始學習它。謝謝@ Moo! – Nestalna 2014-09-26 16:07:02

+0

不用擔心 - 不客氣。 http://www.codecademy.com/是一個開始學習的好地方。 (Psst:它的「Javascript」而不是「Java」 - 它們是兩種不同的語言;)) – Moob 2014-09-26 16:18:48