【问题标题】:Use HTML element attribute as rails form input [closed]使用 HTML 元素属性作为 Rails 表单输入 [关闭]
【发布时间】:2016-07-13 15:43:48
【问题描述】:

我正在编写一个 html.erb 页面。

我的 span 有一些动态属性

HTML:

<span>something<span>

jQuery:

$('span').attr('data-x', function(){})

鲁比:

<%= form_for @blah do |f| %>
<%= f.hidden_field :x_value, value: ?? %>
<% end %>

所以基本上span属性'data-x'会根据功能不时变化,而且我设置了一个按钮,如果我点击按钮,我想要'data-x'属性的值由表单助手提交到我的数据库列“x_value”。

我该怎么做?谢谢大家!

从 Inf 那里得到想法后,我完成了这一部分。 获取我的js文件中属性的值:

var valueX = $('span').attr('data-x')

为我的 erb 文件中的隐藏字段添加一个 ID:

&lt;%= f.hidden_field :x_value, :id=&gt;"columnX" %&gt;

然后在我的js文件中用valueX分配id:

$("#columnX").val(valueX)

【问题讨论】:

  • 欢迎来到 SO。请包括尝试的解决方案、它们为什么不起作用以及预期的结果。这确实有助于我们找出您的代码的问题。也结帐:How to create a Minimal, Complete, and Verifiable example。谢谢!
  • 当data-x改变时,也改变隐藏字段值...
  • 是的,这就是我想要的,我会点击按钮确认更改

标签: javascript jquery html ruby-on-rails ruby


【解决方案1】:

选项1.您可以在表单提交时更新隐藏字段,例如:

$('form').submit(function() {
  $('input[type="hidden"]').val($('span').attr('data-x'));
  return true;
});

选项 2. 与 span 一起更新隐藏字段:

var value = function(){};
$('span').attr('data-x', value);
$('input[type="hidden"]').val(value);

【讨论】:

  • 是的,这行得通,我尝试将这个想法与&lt;%= f.hidden_field :x_value, :id =&gt; "hiddenX" %&gt; 类似的东西一起使用,并使用 Jquery 将值分配给这个 ID,它确实将数据导出到数据库。谢谢!
猜你喜欢
  • 2018-12-09
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 1970-01-01
  • 2015-08-23
  • 1970-01-01
  • 1970-01-01
  • 2019-08-21
相关资源
最近更新 更多