2011-11-18 88 views
0

这个脚本有两个问题。 1)我想把问题缩小到0的高度(这样问题就不会出现)。 2)当问题变成'隐形'时,我希望子弹组成为* un *已选中。JavaScript/CSS折叠段落&取消选择单选按钮

让事情变得复杂一点,我不能使用jQuery或其他库,它必须用JavaScript来完成。

<style type="text/css"> 
    #Q2{visibility:hidden;} 
    #Q3{visibility:hidden;} 
</style> 
<script type="text/javascript"> 
function yes(){ 
    document.getElementById('group2').style.visibility = "visible"; 
    document.getElementById('group3').style.visibility = "collapse"; 
} 
function no(){ 
    document.getElementById('group2').style.visibility = "collapse"; 
    document.getElementById('group3').style.visibility = "visible"; 
} 
</script> 

</head> 
<body> 

<form name="test"> 
    <p>Yes or No? 
    <input type="radio" name="buy" value="yes" onClick="yes()" />Yes 
    <input type="radio" name="buy" value="no" onClick="no()"/> No 

    <p id="group2">Yes or No? 
    <input type="radio" name="go" value="yes" />Yes 
    <input type="radio" name="go" value="no" /> No</p> 

    <p id="group3">Yes or No? 
    <input type="radio" name="stop" value="yes" />Yes 
    <input type="radio" name="stop" value="no" /> No</p> 
</form> 

回答

2

尝试设置显示属性,而不是知名度,clearRadioButtonValue将采取单选按钮组值重置为未选中

function yes(){ 
    document.getElementById('group2').style.display = ""; 
    document.getElementById('group3').style.display = "none"; 
    clearRadioButtonValue(); 
} 
function no(){ 
    document.getElementById('group2').style.display = "none"; 
    document.getElementById('group3').style.display = ""; 
    clearRadioButtonValue(); 
} 
function clearRadioButtonValue() 
{ 
    var group2 = document.forms.test.go; 
    var group3 = document.forms.test.stop; 
    for(var i=0;i<group2.length;i++){group2[i].checked=false;} 
    for(var i=0;i<group3.length;i++){group3[i].checked=false;} 
} 
+0

由于雷伊,但问题仍然跳上跳下。 –

+0

嗯..不知道这里有什么可能是错的..你可以在这里测试脚本http://jsfiddle.net/6cJz3/。你使用的是什么浏览器 ? –

+0

谢谢你雷伊!它完美的作品。我很抱歉,我犯了一个错误,打开了两个文件。亲切的问候。 –