2011-01-09 102 views
4

我很努力地在Google的任何地方找到这个解决方案,也许我找错了,但认为我会来问问StackOverflow永远值得信赖的成员。使用按钮检查html复选框

我想要使用html按钮来检查html复选框。我不想使用复选框的原因纯粹是出于可访问性原因,因为我正在开发的应用程序将在终端上并通过触摸屏使用,因此HTML复选框太小。

唯一的问题是复选框的列表是动态的,因为它是使用SQL查询填充的。但显然,我可以做同样的创建HTML按钮。

我猜这将需要JavaScript(我现在非常开心,因为我发现我需要在这个应用程序中需要JavaScript的许多功能)需要JavaScript来完成这个功能。

所以澄清:我想点击一个按钮,说它有一个“Fin Rot”的值,并检查值为“Fin Rot”的复选框。然后如果我点击另一个按钮,说它的“非物质文化遗产”,那么它还会检查与价值“非物质文化遗产”

回答

10

虽然你可以使用此按钮和JavaScript,可能我建议的复选框值一个更简单的方法?只需使用一个<label>它的设计只为这和风格它像一个按钮,例如:

<input type="checkbox" id="finRot" name="something" value="Fin Rot"> 
<label for="finRot">Some text here, could be "Fin Rot"</label> 

或者(如果你不想在label使用idcheckboxfor):

<label> 
    <input type="checkbox" name="something" value="Fin Rot"> 
    Some text here, could be "Fin Rot" 
</label> 

....然后用CSS你可以隐藏复选框,如果需要,但可以点击切换复选框。

You can test out a demo here,如果需要也会在标签上显示一些按钮CSS。

+0

+1这比我基于JS的解决方案更好,当你发布这个... – Paul 2011-01-09 14:11:07

+0

@Felix - nope,这是'for`属性片......自Netscape以来的作品:) – 2011-01-09 14:12:43

2

本示例使用一个按钮打开/关闭复选框。

http://jsfiddle.net/DnEL3/

<input type="checkbox" id="finRot" name="something" value="Fin Rot"> 
<button onclick="document.getElementById('finRot').checked=!document.getElementById('finRot').checked;">Fin Rot</button> 
2

怎么样HTML的解决方案。

<p><input type="checkbox" 
value="Another check box" 
name="cboxwithlabel" id="idbox"><label 
for="idbox">Another 
checkbox</label></p> 

< label>为复选框或单选按钮创建标签。