我有一个复选框的集合,我试图在单击时获取单个复选框的状态。到目前为止,我最好的尝试是在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 %>
控制台在每个实例中都打印“False”。这包括已选中的复选框和未选中的复选框。
我也试过
console.log($(this).prop('checked'))
和
console.log($(this).checked)
和
console.log(this.prop('checked'))
和
console.log(this.checked)
所有其他方法都返回未定义或错误。
感谢您的任何见解。
答案 0 :(得分:1)
您将事件分配给<td>
而不是复选框
尝试使用
$('.boulderfist :checkbox')
定位该td类中的复选框