这是我的观点:
@bulk_objects.each do |bulk_warehouse|
bulk_error = @wh_errors[:"bulk_warehouse#{@count}"] if @wh_errors
-%>
<tr class="<%= cycle("odd", "even") %>">
<%= hidden_field_tag("bulk_warehouse_id#{@count}",bulk_warehouse.id) %>
<td><%= text_field_tag("bulk_warehouse_asset#{@count}", bulk_warehouse.asset, :disabled => true)%></td>
<td><%= text_field_tag("bulk_warehouse_serial#{@count}", bulk_warehouse.serial, :disabled => true) %></td>
<td><%= check_box_tag "enable_record#{@count}",1,false,{:onclick => "bulk_warehouse_asset#{@count}.disabled =
bulk_warehouse_serial#{@count}.disabled =
!this.checked;"}%></td>
<td class="last">
<%= link_to "#{t("web-app-theme.delete", :default => "Delete")}", bulk_warehouse_path(bulk_warehouse), :method => :delete, :confirm => "#{t("web-app-theme.confirm", :default => "Are you sure?")}" %>
</td>
</tr>
</div>
<% @count = @count +1 %>
<% end -%>
</table>
<div class="actions-bar wat-cf">
<div class="actions">
</div>
..
这是我的控制器:
@bulk_objects = BulkWarehouse.all
@count= @bulk_objects.count
现在,我将在视图中添加一个“全选”复选框,当您单击它时,将启用所有其他“enable_record#{@count}”复选框。我知道这件事应该使用 Ajax 和 Jquery 来完成,但我不知道如何做。有人可以帮助我吗?
谢谢你会
您可以使用button_to_function 创建一个按钮,该按钮将选中/取消选中表单上的所有框。
将此代码放在您的视图中,您希望选中/取消选中按钮所在的位置。单击该按钮时,它将运行切换选中的 javascript 函数。
<%= button_to_function "Check / Uncheck All", "toggleChecked()" >
将您的 javascript 代码放在视图的底部。
<script type='text/javascript'>
var toggleChecked = function() { $('input[type="checkbox"]').click(); });
</script>
该函数也可以放入 asset/javascripts 中相应的 .js 文件中。
这应该能让你启动并运行。
- - - - - - - - 更新 - - - - - - - - -
Button_to_function 现已弃用。我建议使用 HTML5 按钮和 jQuery 来处理此问题。
查看按钮的代码:
<button type="button" id="check_all">
Check / Uncheck All
</button>
JavaScript:
<script type='text/javascript'>
$('#check_all').on("click", function(){ $('input[type="checkbox"]').click(); });
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)