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