2013-03-08 55 views
0

我试图让复选框显示/隐藏段落,但由于某些原因,当我点击复选框的段落不会出现,这里是JavaScript代码:这里有什么问题?复选框不工作

function showPara() 
{ 
    document.getElementById("first").style.visibility=(document.formex.firstpara.checked) ? "block" : "hidden"; 
    document.getElementById("second").style.visibility=(document.formex.secondpara.checked) ? "block" : "hidden"; 
    document.getElementById("third").style.visibility=(document.formex.thirdpara.checked) ? "block" : "hidden"; 
    return true: 
} 

下面是HTML代码:

<p id="first">This is a paragraph</p> 
<p id="second">This is a paragraph</p> 
<p id="third">This is a paragraph</p> 

<form name="formex"> 
    <input type="checkbox" name="firstpara" onClick="showPara();"/>First Paragraph<br /> 
    <input type="checkbox" name="secondpara" onClick="showPara();"/>Second Paragraph<br /> 
    <input type="checkbox" name="thirdpara" onClick="showPara();"/>Third Paragrpah<br /> 
</form> 
+1

您的CSS已关闭。它是'display:block | none'(或多或少)和'visibility:visible | hidden'。 – 2013-03-08 00:32:38

回答

2

visibility CSS属性可以有两个值:hiddenvisible

您正在将其设置为block,这不起作用。您可能会将其与display属性混淆,该属性可以设置为block,none和其他一些值。

+0

即使当我将其更改为“可见”时,它仍然不起作用 – 2013-03-08 00:35:05

+0

您是否还纠正了发现爆炸丸的语法错误?我在Firefox上测试了您的代码,并纠正了这两个错误,并且它可以正常工作。 – 2013-03-10 08:51:31

5

没有visibility: block,所以hidden没有被改变。使用visibility: visible。您在函数中也有语法错误(return true;return true:)。

http://jsfiddle.net/frKXN/1/

+0

+1用于发现语法错误。我速度更快,但实际上你发现了两个错误:) – Hazzit 2013-03-08 00:45:57

相关问题