2011-01-14 114 views
36

我将创建一个由jQuery和JSON构建的复选框列表。该列表将是消息可以发送到的组的选择。它可能是更多的团体之一。这部分我可以弄清楚。我遇到的问题是如何启用描述,以便当我点击描述时,复选框被选中。点击描述时勾选复选框

<div> 
    <label for="group"> 
     Select lists 
    </label> 
</div> 
<div> 
    <input type="checkbox" name="group" id="group" value="1" title="Main List" />Main List 
    <input type="checkbox" name="group" id="group" value="2" title="Secondary List" />Secondary List 
</div> 

回答

57

使用标签与for属性(我分配复选框不同的ID):

<div> 
    <label for="group"> 
     Select lists 
    </label> 
</div> 
<div> 
    <input type="checkbox" name="group" id="group1" value="1" title="Main List" /> 
    <label for="group1">Main List</label> 
    <input type="checkbox" name="group" id="group2" value="2" title="Secondary List" /> 
    <label for="group2">Secondary List</label> 
</div> 
+0

我不能标记为答案,但这是我正在寻找。我知道有什么不对,我无法在任何地方找到答案。谢谢! – 2011-01-14 21:44:38

12

首先:您在那里有一个重复的idid应该是唯一的。

最简单的方法是使用label标签,例如:

<input type="checkbox" name="group" id="group_1" /> 
<label for="group_1">description</label>

现在你可以在文本中单击,它会切换复选框。另一种方法是使用jQuery的click函数:http://www.google.com/#q=jquery+check+checkbox+on+click

1

你也可以使用jQuery,如果你不希望用户“标签”

<input type="checkbox" name="SelectionCheckbox" id="SelectionCheckbox" /> 
<div onclick="$('input[id $=SelectionCheckbox]').attr('checked', this.checked);"> 
    Lorem ipsum dolor sit amet, consectetur adipiscing elit 
    </div> 
27

不同的解决方案(不使用“for”属性)包括<label></label>标签中的每个<input />字段。

例子:

<label><input type="checkbox" value="" /> Click Here to Check This</label> 

这可能,如果你有标签作为inline-block显示复选框的解决方案。