Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/128.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_Jquery_Html - Fatal编程技术网

Javascript 如何基于单选按钮选择显示和隐藏输入字段

Javascript 如何基于单选按钮选择显示和隐藏输入字段,javascript,jquery,html,Javascript,Jquery,Html,以下是根据收音机选择显示输入字段的代码,如: 剧本 函数yesnoCheck(){ if(document.getElementById('yesCheck')。选中){ document.getElementById('Ifies').style.visibility='visible'; }否则{ document.getElementById('ifies').style.visibility='hidden'; } HTML 是 不 如果是,请说明: 我们能为您做些什么? 其他3

以下是根据收音机选择显示输入字段的代码,如:

剧本

函数yesnoCheck(){
if(document.getElementById('yesCheck')。选中){
document.getElementById('Ifies').style.visibility='visible';
}否则{
document.getElementById('ifies').style.visibility='hidden';
}
HTML
是
不

如果是,请说明:
我们能为您做些什么? 其他3
其他4
然而,我想输入字段被隐藏(如在图像上),并使他们不使用任何空间,直到单选按钮被选中,当收音机被选中时,显示他们的淡入淡出效果

:


使用
display:none
不显示项目,然后使用JQuery可以使用
fadeIn()
fadeOut()
隐藏/取消隐藏元素


可见性的所有实例
样式替换为
显示

display:none //to hide
display:block //to show
以下是更新的JSFIDLE:

您可以使用Mootools或jQuery函数来上/下滑动,但如果您不需要动画效果,则可能对您所需要的太多了


CSS显示是一种更快、更简单的方法。

当元素隐藏时,您还需要将其高度设置为0。我在使用jQuery时遇到了这个问题,我的解决方案是在隐藏时将高度和不透明度设置为0,然后在取消隐藏时将高度更改为自动,不透明度更改为1

我建议您看看jQuery,它非常容易学习,并且可以让您更轻松地完成类似的事情

$('#yesCheck').click(function() {
    $('#ifYes').slideDown();
});
$('#noCheck').click(function() {
    $('#ifYes').slideUp();
});

使用jQuery更改CSS并使用CSS3动画来做下拉列表会稍微提高性能,但这也更复杂。上面的示例应该可以工作,但我还没有测试过它。

使用
显示:无/块
,而不是
可见性
,并为要查看的空间添加
上/下边距
仅当显示输入时

 function yesnoCheck() {
        if (document.getElementById('yesCheck').checked) {
           document.getElementById('ifYes').style.display = 'block';
        } else {
           document.getElementById('ifYes').style.display = 'none';
        }
    }
标记的HTML行则是ifies
标记

<div id="ifYes" style="display:none;margin-top:3%;">If yes, explain:
如果是,请说明:

使用
可见性
属性只会影响页面上元素的可见性;它们仍将存在于页面布局中。若要从页面中完全删除元素,请使用
显示
属性

display:none // for hiding
display:block // for showing
确保将css文件更改为使用“显示”而不是“可见性”

至于javascript(这不是jQuery),请确保在页面加载时默认隐藏选项:

<script type="text/javascript">
    window.onload = function() {
        document.getElementById('ifYes').style.display = 'none';
    }

    function yesnoCheck() {
        if (document.getElementById('yesCheck').checked) {
            document.getElementById('ifYes').style.display = 'block';
        } 
        else {
            document.getElementById('ifYes').style.display = 'none';
        }
    }

</script>

window.onload=函数(){
document.getElementById('ifies').style.display='none';
}
函数yesnoCheck(){
if(document.getElementById('yesCheck')。选中){
document.getElementById('ifies').style.display='block';
} 
否则{
document.getElementById('ifies').style.display='none';
}
}
如果您还没有这样做,我建议您看看jQuery。jQuery代码更清晰、更易于编写和理解

***这将起作用。。。。。。。。。
window.onload=函数(){
document.getElementById('ifies').style.display='none';
document.getElementById('ifNo').style.display='none';
}
函数yesnoCheck(){
if(document.getElementById('yesCheck')。选中){
document.getElementById('ifies').style.display='block';
document.getElementById('ifNo').style.display='none';
document.getElementById('redhat1').style.display='none';
document.getElementById('aix1').style.display='none';
} 
else if(document.getElementById('noCheck')。选中){
document.getElementById('ifNo').style.display='block';
document.getElementById('ifies').style.display='none';
document.getElementById('redhat1').style.display='none';
document.getElementById('aix1').style.display='none';
}
}
函数yesnoCheck1(){
if(document.getElementById('redhat')。选中){
document.getElementById('redhat1').style.display='block';
document.getElementById('aix1').style.display='none';
}
if(document.getElementById('aix').checked){
document.getElementById('aix1').style.display='block';
document.getElementById('redhat1').style.display='none';
}
}
选择操作系统:
窗户 Unix
Windows 2008 Windows 2012 红帽 艾克斯 红帽6.0 红帽6.1 AIX6.0
AIX6.1您可以使用非常简单的步骤

$(':radio[id=radio1]').change(function() {
   $("#yes").removeClass("none");
   $("#no").addClass("none");


});
$(':radio[id=radio2]').change(function() {
   $("#no").removeClass("none");
   $("#yes").addClass("none");

});

函数检查(){
if(document.getElementById('yesCheck')。选中){
document.getElementById('ifies').style.display='block';
} 
否则{
document.getElementById('ifies').style.display='none';
}
}
选择操作系统:

两个 一个
三 四
仅供参考,他使用的是Mootools而不是jQuery:)这个问题用jQuery标记,我在jQuery问题列表中找到了它,所以我给了他一个jQuery答案。
<script type="text/javascript">
    window.onload = function() {
        document.getElementById('ifYes').style.display = 'none';
    }

    function yesnoCheck() {
        if (document.getElementById('yesCheck').checked) {
            document.getElementById('ifYes').style.display = 'block';
        } 
        else {
            document.getElementById('ifYes').style.display = 'none';
        }
    }

</script>
***This will work.........
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
 window.onload = function() {
    document.getElementById('ifYes').style.display = 'none';
    document.getElementById('ifNo').style.display = 'none';
}
function yesnoCheck() {
    if (document.getElementById('yesCheck').checked) {
        document.getElementById('ifYes').style.display = 'block';
        document.getElementById('ifNo').style.display = 'none';
        document.getElementById('redhat1').style.display = 'none';
        document.getElementById('aix1').style.display = 'none';
    } 
    else if(document.getElementById('noCheck').checked) {
        document.getElementById('ifNo').style.display = 'block';
        document.getElementById('ifYes').style.display = 'none';
        document.getElementById('redhat1').style.display = 'none';
        document.getElementById('aix1').style.display = 'none';
   }
}
function yesnoCheck1() {
   if(document.getElementById('redhat').checked) {
       document.getElementById('redhat1').style.display = 'block';
       document.getElementById('aix1').style.display = 'none';
    }
   if(document.getElementById('aix').checked) {
       document.getElementById('aix1').style.display = 'block';
       document.getElementById('redhat1').style.display = 'none';
    }
}
</script>
</head>
<body>
Select os :<br>
windows
<input type="radio" onclick="javascript:yesnoCheck();" name="yesno" id="yesCheck"/>Unix
<input type="radio" onclick="javascript:yesnoCheck();" name="yesno" id="noCheck"/>
<br>
<div id="ifYes" style="display:none">
Windows 2008<input type="radio" name="win" value="2008"/>
Windows 2012<input type="radio" name="win" value="2012"/>
</div>
<div id="ifNo" style="display:none">
Red Hat<input type="radio" name="unix" onclick="javascript:yesnoCheck1();"value="2008" 

id="redhat"/>
AIX<input type="radio" name="unix" onclick="javascript:yesnoCheck1();"  
value="2012" id="aix"/>
</div>
<div id="redhat1" style="display:none">
Red Hat 6.0<input type="radio" name="redhat" value="2008" id="redhat6.0"/>
Red Hat 6.1<input type="radio" name="redhat" value="2012" id="redhat6.1"/>
</div>
<div id="aix1" style="display:none">
aix 6.0<input type="radio" name="aix" value="2008" id="aix6.0"/>
aix 6.1<input type="radio" name="aix" value="2012" id="aix6.1"/
</div>
</body> 
</html>***
$(':radio[id=radio1]').change(function() {
   $("#yes").removeClass("none");
   $("#no").addClass("none");


});
$(':radio[id=radio2]').change(function() {
   $("#no").removeClass("none");
   $("#yes").addClass("none");

});
<script type="text/javascript">
function Check() {
    if (document.getElementById('yesCheck').checked) {
        document.getElementById('ifYes').style.display = 'block';
    } 
    else {
        document.getElementById('ifYes').style.display = 'none';

   }
}

</script>
</head>
<body>
Select os :
<br>
Two
<input type="radio" onclick="Check();" value="Two" name="categor`enter code here`y" id="yesCheck"/>One
<input type="radio" onclick="Check();" value="One"name="category"/>
<br>
<div id="ifYes" style="display:none" >
Three<input type="radio" name="win" value="Three"/>
Four<input type="radio" name="win" value="Four"/>