2011-01-14 162 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顯示覆選框的解決方案。