隐藏的列表框在javascript之后没有显示

时间:2014-04-02 16:08:39

标签: javascript

所以我对这个问题感到非常困惑。我几乎可以肯定这段代码是正确的,但是从第一个下拉框中选择了某些内容之后,我想要显示的列表框根本没有显示出来。以下是我现在的代码

<html xmlns="http://www.w3.org/1999/xhtml">
<head>


<link href="css/template.css" rel="stylesheet" type="text/css" />

    <script type="text/javascript">
    function view_private_user_list(){
    var i = document.status.private_users.options[document.status.private_users.selectedIndex].value;

    if(i == 1){
        document.getElementById('private_select_now').style.visibility="visible";
    } else{
        document.getElementById('private_select_now').style.visibility="visible";
    }
    }
    </script>
</head>
<body>

<div id="show_private_option">

<select id="private_users" onChange="view_private_user_list()">
<option value="0" SELECTED>Select user....</option>
<option value="1">Vincent</option>
</select>

<div id="private_select_now" style="visibility:hidden">
<select size="3">
<option value="">{#template_dlg.select}...</option>

<option value="SOOOOLDmax.htm">SOOOOLDmax</option>
<option value="mike.htm">tester</option>               
</select>
</div>
</div>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

而不是可见性,请使用显示

 <script type="text/javascript">
    function view_private_user_list(){
var i = document.getElementById('private_users').selectedIndex.value
    if(i == 1){
        document.getElementById('private_select_now').style.display="block";
    } else{
        document.getElementById('private_select_now').style.display="none";
    }
    }
    </script>

答案 1 :(得分:0)

尝试:

document.getElementById(&#39; private_select_now&#39;)。style.display =&#34; block&#34 ;; 和 的document.getElementById(&#39; private_select_now&#39)。将style.display =&#34;无&#34 ;;

代替

答案 2 :(得分:0)

这个小提琴应该有效:

http://jsfiddle.net/3XENR/1/

我认为您试图找出下拉列表的当前值的方式并不奏效。

请尝试使用此版本的功能。

function view_private_user_list(){
    var selectEl = document.getElementById('private_users');
    var i = selectEl.value;

    if(i == 1){
        document.getElementById('private_select_now').style.visibility="visible";
    } else{
        document.getElementById('private_select_now').style.visibility="hidden";
    }
}