2017-04-25 645 views
0

我有一個複選框的集合,我試圖獲取單擊時單個複選框的狀態。我最好的嘗試,到目前爲止有這個在CoffeeScript的文件:

if $('.boulderfist').length > 0 
    unpressed = true 
    $('.boulderfist').on "click", -> 
     console.log($(this).is(':checked')) 
     unpressed = false 

而且箱子是由該視圖中創建:

 <%= a.collection_check_boxes(:seminar_ids, current_user.seminars, :id, :name) do |b| %> 
     <tr> 
      <td width="10%" class="boulderfist"><%= b.check_box %></td> 
      <td><%= b.label %></td> 
     </tr> 
     <% end %> 

在每種情況下控制檯打印「假」。這包括開始選中的複選框和未選中開啓的複選框。

我也試過

console.log($(this).prop('checked')) 

console.log($(this).checked) 

console.log(this.prop('checked')) 

console.log(this.checked) 

所有這些其他方法都會返回未定義或錯誤。

謝謝你的任何見解。

回答

1

您分配事件到<td>沒有一個複選框

嘗試使用

$('.boulderfist :checkbox') 

目標是TD類

+0

謝謝內複選框。現在你已經指出了這個問題,它似乎是將類移到複選框而不是使用CSS的稍好一點的方法。你會同意嗎? –