通过javascript在ruby on rails中传递项目ID值
Posted
技术标签:
【中文标题】通过javascript在ruby on rails中传递项目ID值【英文标题】:passing item id value via javascript in ruby on rails 【发布时间】:2018-07-09 00:24:20 【问题描述】:我必须将这个“data-curated-id”从调用模态的 href 发送到它的模态,并设置隐藏字段的值 IE。 必须将模态形式的“值”设置为我的 href 链接中的 data-curated-id ='' 的值
这里是模态代码
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form role="form" action="<%= duplicate_curated_items_path %>" method="post" enctype="multipart/form-data">
<input name="data_curated_id" type="hidden" value='' />
这里是调用modal的代码
<a href ="#" class="tabledit-edit-button btn btn-sm btn-default" id = "myButton" data-curated-id ='<%= item.id %>' >
Duplicate
===javascript 代码====
$(document).on("click", ".tabledit-edit-button", function ()
var Idimp = $(this).data('data-curated-id');
$(".modal-content #data_curated_id").val(Idimp)
$('#myModal').modal('show');
);
我尝试了这个 javascript 代码,但它不起作用
【问题讨论】:
【参考方案1】:您没有使用 .data()
方法的正确密钥。删除data-
然后使用camelCase
Dataset API Specification
对于列表中的每个名称,对于名称中后跟小写 ASCII 字母的每个 U+002D HYPHEN-MINUS 字符 (-),删除 U+002D HYPHEN-MINUS 字符 (-) 并替换后跟相同的 ASCII 大写字符。
使用
var Idimp = $(this).data('curatedId');
而不是
var Idimp = $(this).data('data-curated-id');
$(document).on("click", ".tabledit-edit-button", function()
var Idimp = $(this).data('curatedId');
console.log(Idimp)
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" class="tabledit-edit-button btn btn-sm btn-default" id="myButton" data-curated-id='1'>1</a>
【讨论】:
我觉得像这样 $(this).data('curated-id'); 但它的 data-curated-id,我无法在任何地方看到 curatedId。 .data 是否有某种格式 value 没有被分配给 modal 的 'value' 属性,它运行成功,但是当我在浏览器中检查它时,模式形式的 value 仍然为空以上是关于通过javascript在ruby on rails中传递项目ID值的主要内容,如果未能解决你的问题,请参考以下文章
在 Ruby on Rails 上使用 javascript 注入 ruby
在 Javascript 中执行 ruby 方法 - Ruby on Rails App
Javascript / jQuery / Coffeescript 在 Ruby on Rails 中的作用是啥?
Ruby on Rails:将数组的 javascript 数组发送到 ruby 控制器