根据下拉列表显示/隐藏部分-js

时间:2014-09-26 15:45:30

标签: javascript html

大家好我所有的代码都很好漂亮,但问题是它有点儿麻烦。当您选择实际上取消隐藏某个部分的字段,然后选择另一个隐藏部分的字段时,隐藏"隐藏"部分仍然存在一段时间! 您将在下面看到我在codepen上的代码:http://codepen.io/Nestalna/details/qpjsy

使用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>

1 个答案:

答案 0 :(得分:1)

如果您选择&#39; 2&#39;它根本不隐藏。如果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