我的页面上有复选框,所有这些都是默认值。但是,在页面刷新后取消选中select_all复选框,而其他复选框仍保持选中状态。
<script>
var $checked = true;
$('#select_all').click(function() {
console.log('click select all button'+$checked)
$checked = !$checked
$(".activated").each(function(){
$(this).prop("checked", $checked)
});
});
</script>
&#13;
<table cellspacing="10">
<thead>
<tr>
<%= check_box_tag 'select_all', 1, true%>
<%= label_tag :select_all, " Select All Doctors" %>
</tr>
</thead>
<tbody>
<tr>
<th>Send Email</th>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<% @doctors.each do |doctor| %>
<tr>
<td><%= check_box_tag 'activated[]', doctor.id, true, class: 'activated'%></td>
<td><%= doctor.first_name %></td>
<td><%= doctor.last_name %></td>
<td><%= doctor.email %></td>
</tr>
<% end %>
</tbody>
</table>
&#13;
答案 0 :(得分:0)
您不必保存布尔值来切换,您可以执行以下操作:
<script>
$('#select_all').change(function() {
console.log('click select all button'+$checked)
$checked = $(this).is(':checked')
$(".activated").each(function(){
$(this).prop("checked", $checked)
});
});
</script>
N.T用更改替换了click,这是与复选框一起使用的合适选项。