Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
隐藏列表框在javascript之后不显示_Javascript - Fatal编程技术网

隐藏列表框在javascript之后不显示

隐藏列表框在javascript之后不显示,javascript,Javascript,所以我对这个问题感到困惑。我几乎可以肯定这段代码是正确的,但是在从第一个下拉框中选择了某些内容之后,我想要显示的列表框根本没有显示出来。这是我现在要做的代码 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link href="css/template.css" rel="stylesheet" type="text/css" /> <script type="text/javascr

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

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

使用“显示”代替“可见性”

 <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>
尝试:

document.getElementById'private\u select\u now'.style.display=block; 和 document.getElementById'private\u select\u now'。style.display=none


相反

这把小提琴应该有用:

我认为你试图找出下拉列表的当前值的方法不太管用

请尝试此版本的函数

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";
    }
}

我继续,将style属性改为display,将javascript函数改为display,但仍然没有改变。谢谢Vero的帮助。为什么我以前的函数没有更改隐藏属性?从document.status哪里获得的?我在互联网上查找了它,但找不到它,所以我改用document.getElementById。如果-无论您在哪里使用document.status.private_users-您都将其替换为document.getElementById'private_users',您的代码也会工作!除非您还需要在else子句中将style.visibility更改为hidden;