【问题标题】:How can I retrieve the list of selected IDs on index page using Javascript in ActiveAdmin?如何在 ActiveAdmin 中使用 Javascript 检索索引页面上选定 ID 的列表?
【发布时间】:2016-02-09 20:49:22
【问题描述】:
我正在使用 ActiveAdmin。我希望能够获取在 Javascript 的索引页面上选择的所有内容的 ID 列表。有没有简单的方法可以做到这一点?
内置的 ActiveAdmin 批处理操作通过 ajax 请求提交,所以我希望可能有一些我可以利用的未记录的 ActiveAdmin javascript 钩子。
【问题讨论】:
标签:
javascript
jquery
ruby-on-rails
coffeescript
activeadmin
【解决方案1】:
ActiveAdmin 没有为批处理操作提供任何 JavaScript 挂钩,因为它使用标准 HTML 表单实现。
使用 jQuery,可以使用 CSS 选择器查找名称为 collection_selection[] 的已检查 input 元素,然后将它们的表单值映射到数组。每个值都是记录 ID 的字符串版本(参见下面的示例)。
var items = $("input[name='collection_selection[]']");
var checkedItems = items.filter(":checked");
var ids = $.map(checkedItems, function (item) { return $(item).val(); });
// Example output
// ids = [ "14", "25", "26" ]