Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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,我对Javascript完全陌生。我有一个我正在为一个有表单的类编写的程序。如果单击两个单选按钮中的一个,我需要一个下拉菜单来显示一年中的月份。我试过几种不同的方法,但我似乎不明白。另外,我需要对其中6个字段执行此操作。那么我需要不止一个功能,还是可以使用同一个功能?试试这个: <script type="text/javascript"> function ChangeDropdowns(value){ if(value=="radiobuttonYes"){

我对Javascript完全陌生。我有一个我正在为一个有表单的类编写的程序。如果单击两个单选按钮中的一个,我需要一个下拉菜单来显示一年中的月份。我试过几种不同的方法,但我似乎不明白。另外,我需要对其中6个字段执行此操作。那么我需要不止一个功能,还是可以使用同一个功能?

试试这个:

<script type="text/javascript">
function ChangeDropdowns(value){
    if(value=="radiobuttonYes"){
        document.getElementById('ddlId').style.display='none';
    }else if(value=="radiobuttonNo"){
        document.getElementById('ddlId').style.display='block';
    }
}
</script>

函数更改下拉列表(值){
如果(值=“radiobuttonYes”){
document.getElementById('ddlId').style.display='none';
}否则如果(值==“radiobuttonNo”){
document.getElementById('ddlId').style.display='block';
}
}
如果所有字段都依赖于相同的单选按钮值,则可以通过将clientId作为参数传递并在getElementById中使用它来使用相同的函数

试试这个:

<script type="text/javascript">
function ChangeDropdowns(value){
    if(value=="radiobuttonYes"){
        document.getElementById('ddlId').style.display='none';
    }else if(value=="radiobuttonNo"){
        document.getElementById('ddlId').style.display='block';
    }
}
</script>

函数更改下拉列表(值){
如果(值=“radiobuttonYes”){
document.getElementById('ddlId').style.display='none';
}否则如果(值==“radiobuttonNo”){
document.getElementById('ddlId').style.display='block';
}
}

如果所有字段都依赖于相同的单选按钮值,则可以通过将clientId作为参数传递并在getElementById中使用它来使用相同的函数

如果为要显示/隐藏的每个元素分配一个id,则可以使用JavaScript和CSS显示或隐藏页面中的这些元素

将此代码放在HTML文件的头中。请注意,显示会影响布局,基本上会删除元素在页面上占用的空间。可见性保留布局,隐藏元素但保持其可用空间。你可以使用任何适合你的函数

<script language="javascript" type="text/javascript">
function setVisible(id, visible) {
    var o = document.getElementById(id); //get the element based on it's id

    //if the element exists then set it's visiblity
    if (typeof(o) != 'undefined') o.style.visibility = visible ? 'visible' : 'hidden';
    if (typeof(o) == 'undefined') alert("Element with id '" + id + "' not found.");
}

function setDisplay(id, visible) {
    var o = document.getElementById(id);
    if (typeof(o) != 'undefined') o.style.display = visible ? 'block' : 'none';
    if (typeof(o) == 'undefined') alert("Element with id '" + id + "' not found.");
}

</script>

函数setVisible(id,可见){
var o=document.getElementById(id);//根据元素的id获取元素
//如果元素存在,则设置其可见性
if(typeof(o)!=“undefined”)o.style.visibility=可见?“可见”:“隐藏”;
if(typeof(o)=‘未定义’)警报(“id为’+id+“‘未找到’”的元素”);
}
功能设置显示(id,可见){
var o=document.getElementById(id);
如果(typeof(o)!='undefined')o.style.display=可见?'block':'none';
if(typeof(o)=‘未定义’)警报(“id为’+id+“‘未找到’”的元素”);
}
这里是一个例子,什么应该在身体。您可以选择使用setVisible或setDisplay功能。此外,您可能需要考虑添加其他的侦听器到诸如Onchange之类的单选按钮,因为用户不需要鼠标单击单选按钮来检查它。他们也可以使用键盘来选择它,这样就不会触发onclick事件

<div>
    Radio:
    <input type='radio' name='myradio' value='first' onclick="setVisible('Div1', true); setVisible('Div2', false);" />
    <input type='radio' name='myradio' value='second' onclick="setVisible('Div2', true); setVisible('Div1', false);" />
</div>

<div id='Div1'>
    More form fields here.
</div>

<div id='Div2'>
    More form fields here.
</div>

电台:
这里有更多的表单字段。
这里有更多的表单字段。
下面是我的完整代码示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
    <script language="javascript" type="text/javascript">
    function setVisible(id, visible) {
        var o = document.getElementById(id);
        if (typeof(o) != 'undefined') o.style.visibility = visible ? 'visible' : 'hidden';
        if (typeof(o) == 'undefined') alert("Element with id '" + id + "' not found.");
    }

    function setDisplay(id, visible) {
        var o = document.getElementById(id);
        if (typeof(o) != 'undefined') o.style.display = visible ? 'block' : 'none';
        if (typeof(o) == 'undefined') alert("Element with id '" + id + "' not found.");
    }
    </script>

</head>

<body>

    <div>
        Radio:
        <input type='radio' name='myradio' value='first' onclick="setVisible('Div1', true); setVisible('Div2', false);" />
        <input type='radio' name='myradio' value='second' onclick="setVisible('Div2', true); setVisible('Div1', false);" />
    </div>

    <div id='Div1'>
        More form fields here. 1
    </div>

    <div id='Div2'>
        More form fields here. 2
    </div>

</body>
</html>

无标题文件
函数setVisible(id,可见){
var o=document.getElementById(id);
if(typeof(o)!=“undefined”)o.style.visibility=可见?“可见”:“隐藏”;
if(typeof(o)=‘未定义’)警报(“id为’+id+“‘未找到’”的元素”);
}
功能设置显示(id,可见){
var o=document.getElementById(id);
如果(typeof(o)!='undefined')o.style.display=可见?'block':'none';
if(typeof(o)=‘未定义’)警报(“id为’+id+“‘未找到’”的元素”);
}
电台:
这里有更多的表单字段。1.
这里有更多的表单字段。2.

如果为要显示/隐藏的每个元素分配id,则可以使用JavaScript和CSS显示或隐藏页面中的这些元素

将此代码放在HTML文件的头中。请注意,显示会影响布局,基本上会删除元素在页面上占用的空间。可见性保留布局,隐藏元素但保持其可用空间。你可以使用任何适合你的函数

<script language="javascript" type="text/javascript">
function setVisible(id, visible) {
    var o = document.getElementById(id); //get the element based on it's id

    //if the element exists then set it's visiblity
    if (typeof(o) != 'undefined') o.style.visibility = visible ? 'visible' : 'hidden';
    if (typeof(o) == 'undefined') alert("Element with id '" + id + "' not found.");
}

function setDisplay(id, visible) {
    var o = document.getElementById(id);
    if (typeof(o) != 'undefined') o.style.display = visible ? 'block' : 'none';
    if (typeof(o) == 'undefined') alert("Element with id '" + id + "' not found.");
}

</script>

函数setVisible(id,可见){
var o=document.getElementById(id);//根据元素的id获取元素
//如果元素存在,则设置其可见性
if(typeof(o)!=“undefined”)o.style.visibility=可见?“可见”:“隐藏”;
if(typeof(o)=‘未定义’)警报(“id为’+id+“‘未找到’”的元素”);
}
功能设置显示(id,可见){
var o=document.getElementById(id);
如果(typeof(o)!='undefined')o.style.display=可见?'block':'none';
if(typeof(o)=‘未定义’)警报(“id为’+id+“‘未找到’”的元素”);
}
这里是一个例子,什么应该在身体。您可以选择使用setVisible或setDisplay功能。此外,您可能需要考虑添加其他的侦听器到诸如Onchange之类的单选按钮,因为用户不需要鼠标单击单选按钮来检查它。他们也可以使用键盘来选择它,这样就不会触发onclick事件

<div>
    Radio:
    <input type='radio' name='myradio' value='first' onclick="setVisible('Div1', true); setVisible('Div2', false);" />
    <input type='radio' name='myradio' value='second' onclick="setVisible('Div2', true); setVisible('Div1', false);" />
</div>

<div id='Div1'>
    More form fields here.
</div>

<div id='Div2'>
    More form fields here.
</div>

电台:
这里有更多的表单字段。
这里有更多的表单字段。
下面是我的完整代码示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
    <script language="javascript" type="text/javascript">
    function setVisible(id, visible) {
        var o = document.getElementById(id);
        if (typeof(o) != 'undefined') o.style.visibility = visible ? 'visible' : 'hidden';
        if (typeof(o) == 'undefined') alert("Element with id '" + id + "' not found.");
    }

    function setDisplay(id, visible) {
        var o = document.getElementById(id);
        if (typeof(o) != 'undefined') o.style.display = visible ? 'block' : 'none';
        if (typeof(o) == 'undefined') alert("Element with id '" + id + "' not found.");
    }
    </script>

</head>

<body>

    <div>
        Radio:
        <input type='radio' name='myradio' value='first' onclick="setVisible('Div1', true); setVisible('Div2', false);" />
        <input type='radio' name='myradio' value='second' onclick="setVisible('Div2', true); setVisible('Div1', false);" />
    </div>

    <div id='Div1'>
        More form fields here. 1
    </div>

    <div id='Div2'>
        More form fields here. 2
    </div>

</body>
</html>

无标题文件
函数setVisible(id,可见){
var o=document.getElementById(id);
if(typeof(o)!=“undefined”)o.style.visibility=可见?“可见”:“隐藏”;
if(typeof(o)=‘未定义’)警报(“id为’+id+“‘未找到’”的元素”);
}
功能设置显示(id,可见){
var o=document.getElementById(id);
如果(typeof(o)!='undefined')o.style.display=可见?'block':'none';
if(typeof(o)=‘未定义’)警报(“id为’+id+“‘未找到’”的元素”);
}
电台:
这里有更多的表单字段。1.
这里有更多的表单字段。2.

看起来他们比我抢先一步。但是,这里有另一个例子

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
        <title>radio example</title>
        <style type="text/css">
            .show { display: block;  }
            .hide { display: none; }
        </style>

        <script type="text/javascript">
            function showSelect() {
                var select = document.getElementById('my_select');
                select.className = 'show';
            }
        </script>
    </head>
    <body>
        <form action="#" method="post">
            <label for="my_radio">Click me</label>
            <input id="my_radio" type="radio" name="options" value="some_value" onclick="showSelect();" />

            <select id="my_select" class="hide">
                <option value="someValue">Some Text</option>
            </select>
        </form>
    </body>
</html>

无线电示例
.show{display:block;}
.hide{display:none;}
函数sh