javascript - 使用数组值隐藏输入 - Ruby on Rails

标签 javascript html ruby-on-rails arrays

我正在尝试从 html 发送一个用于 javascript 的数组,并使用 Ruby 的变量,如下所示:

 <% @data.each do |d| %>
   <input type="hidden" id="name" value= "<%= d.name %>">
 <% end %>

“data”是模型的变量

def index
    @data = organizations.all
end

在js中我使用了一个id为“name”的变量

var nombre = document.getElementById("name").value;
var x = name;

我希望 x 是一个像这样的数组:

["Org1","Org2","Org3"]

谢谢你所做的一切

最佳答案

您正在创建 X 个具有相同 ID 的字段。这是一个问题,ID 应该是唯一的。不过还有一个替代方案,您可以使用 A CLASS!

 <% @data.each do |d| %>
   <input type="hidden" class="js-names" value= "<%= d.name %>">
 <% end %>

获取元素列表

// Array of elements
var elements = Array.prototype.slice.call(document.getElementsByClassName('js-names'));
var names = elements.map(function(element) { return element.value; });

但是,更好的方法肯定是使用 gon

关于javascript - 使用数组值隐藏输入 - Ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39927439/

相关文章:

javascript - AngularJS 指令部分工作(包括 Plunker 链接)

javascript - 使用按钮javascript更改某些东西的颜色

html - 在 HTML 中嵌入第三方图像的安全问题

html - div标签没有出现在网页上

ruby-on-rails - Rails 模型 has_many , belongs_to 关系

php - Web 开发人员是否值得学习 C?我会使用它吗?

javascript - 使用完全相同的显示/隐藏 jQuery,但有两个表,而不是一个

javascript - ESLint 没有找到 React Native 组件

javascript - 如何让我的动画技能栏响应

ruby-on-rails - Mime::Type::InvalidMimeType ("charset=utf-8"不是有效的 MIME 类型)