Sar*_*'Cl 3 javascript ruby jquery ruby-on-rails ruby-on-rails-3
我有一个控制器VendorController.并且查看文件是index.html.erb
我想通过onclick函数传递供应商的ID.这是我的代码
代码下 vendors_controller.rb
def index
@vendor = Vendor.all
end
Run Code Online (Sandbox Code Playgroud)
代码 index.html.erb
<script language="javascript" type="text/javascript">
function func1(id) {
alert(_id);
}
function func2(id) {
alert(id);
}
</script>
<% @vendors.each do |vendor| %>
<tr>
<td><%=link_to vendor.name , '#', onclick: "func1(1)", remote: true %></td>
<td><%= link_to vendor.id, '#', :onclick => 'func2(vendor.id)' %></td>
</tr>
<% end %>
Run Code Online (Sandbox Code Playgroud)
因为func1()我得到警报.但是因为func2我没有得到任何回应.请帮助..提前谢谢你.
alk*_*fee 10
@ max-williams的答案应该可以解决你的问题.但我还建议您探索将<tr>标记中的记录ID 作为数据属性嵌入而不是写出onclick函数的选项.然后在JS中,您可以在事件侦听器中动态选择ID.
考虑:
<tr data-id="<%= vendor.id %>">
<td><%= link_to vendor.id, '#', :class=>"vendor-link" %></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
然后只是听取点击:
$( ".vendor-link" ).click(function() {
id = $(this).closest("tr").data("id");
alert(id);
});
Run Code Online (Sandbox Code Playgroud)
此方法将您的JS与HTML模板分开,并使其更易于管理.此外,您还可以附加多个单击功能,为您提供更多灵活性.
| 归档时间: |
|
| 查看次数: |
4600 次 |
| 最近记录: |