如果选择了特定的选择选项值,则显示div

Joh*_*ohn 6 javascript

如果用户从选择下拉列表中选择特定选项值,我会尝试显示div.

例:

选择下拉列表由从数据库中提取的动态名称以及列表底部名为"Admin"的一个静态或永久名称组成.

如果用户选择不是"Admin"的选项,则如果用户选择"Admin"表示div保持隐藏,则会显示包含特定表单元素的div

这是我的代码:

Javascript -

<script language="javascript">

function admSelectCheck(nameSelect)
{
    if(nameSelect){
        admOptionValue = document.getElementById("admOption").value;
        if(admOptionValue != 0){
            document.getElementById("admDivCheck").style.display = "";
        }
        else{
            document.getElementById("admDivCheck").style.display = "none";
        }
    }
    else{
        document.getElementById("admDivCheck").style.display = "none";
    }
}

</script>
Run Code Online (Sandbox Code Playgroud)

HTML -

<select id="getFname" onchange="admSelectCheck(this.select);">
<option value="1">Jay</option>
<option value="4">Sam</option>
<option id="admOption" value="0">Admin</option>
</select>


<div id="admDivCheck" style="display:none;">
admin selected
</div>
Run Code Online (Sandbox Code Playgroud)

很高兴得到这方面的帮助.

Azi*_*ikh 8

使用this.select不正确.

这是正确的代码:

HTML

<select id="getFname" onchange="admSelectCheck(this);">
<option value="1">Jay</option>
<option value="4">Sam</option>
<option id="admOption" value="0">Admin</option>
</select>


<div id="admDivCheck" style="display:none;">
admin selected
</div>
Run Code Online (Sandbox Code Playgroud)

JS

function admSelectCheck(nameSelect)
{
    console.log(nameSelect);
    if(nameSelect){
        admOptionValue = document.getElementById("admOption").value;
        if(admOptionValue == nameSelect.value){
            document.getElementById("admDivCheck").style.display = "block";
        }
        else{
            document.getElementById("admDivCheck").style.display = "none";
        }
    }
    else{
        document.getElementById("admDivCheck").style.display = "none";
    }
}
Run Code Online (Sandbox Code Playgroud)

请参阅JSFiddle上的演示.