gpt4 book ai didi

javascript - 通过 Ruby On Rails 中 jquery 的 onclick 函数传递对象的 id

转载 作者:数据小太阳 更新时间:2023-10-29 07:43:14 26 4
gpt4 key购买 nike

我有一个 Controller VendorController。 View 文件是 index.html.erb

我想通过 onclick 函数传递 vendor 的 id。这是我的代码

vendors_controller.rb下的代码

def index
@vendor = Vendor.all
end

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 %>

对于 func1() 我收到了警报。但是对于 func2 我没有得到任何回应。请帮助..提前谢谢你。

最佳答案

@max-williams 的回答应该可以解决您的问题。但我也建议您探索将记录 ID 嵌入到 <tr> 中的选项。标记为数据属性,而不是写出 onclick功能。然后在您的 JS 中,您可以在事件监听器中动态选择 ID。

考虑:

<tr data-id="<%= vendor.id %>">
<td><%= link_to vendor.id, '#', :class=>"vendor-link" %></td>
</tr>

然后只听点击:

$( ".vendor-link" ).click(function() {
id = $(this).closest("tr").data("id");
alert(id);
});

此方法会将 JS 从 HTML 模板中分离出来,使其更易于管理。此外,您还可以附加多个点击功能,让您更加灵活。

关于javascript - 通过 Ruby On Rails 中 jquery 的 onclick 函数传递对象的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23696718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com