gpt4 book ai didi

javascript - 在 ruby​​ 代码上通过 Jquery 触发点击

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:01 24 4
gpt4 key购买 nike

因此,我试图让我的 f.submit 在我单击 f.check_box 时被触发。我不知道您是否可以使用 jquery 在 ruby​​ 上工作...但基本上这是一个待办事项 ListView ,其中包含页面上的所有项目。当我单击复选框将其标记为关闭时,我希望它自动提交。

我想我可以在 f.check_boxf.submit 上分配一个 div 标签来触发它们...这是我的 JQuery 的第一部分我与。

<h1><%= @list.title %></h1>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<div>

<h2><% @list.items.each do |item| %></h2>
<%= item.content %>
<%= form_for([@list, item]) do |f| %>
<div id="target">
<%= f.check_box :complete %>
</div>
<div id="handler">
<%= f.submit %>
<% end %>
</div>
<% end %>
</div>
<script>
jQuery(document).ready(function() {

jQuery("#target").click(function() {
jQuery("#handler").click();
});
});

</script>




<% if policy(@list).update? %>
<%= link_to "Edit List", edit_list_path, class: 'btn btn-success' %>
<% end %>



<div class="col-md-4">
<% if policy(Item.new).create? %>
<%= link_to "New Item", new_list_item_path(@list), class: 'btn btn-success' %>
<% end %>

<% if policy(@list).destroy? %>
<%= link_to "Delete List", @list, method: :delete, class: 'btn btn-danger', data: { confirm: 'Are you sure you want to destroy this lovely list?'} %>
<% end %>
</div>
</div>



<%= render "items/form" %>




<!--
new_list_item_path

/lists/5/items/new
-->

最佳答案

div 不会触发 onclick 事件,您需要设置 checkboxonchange 方法来提交表单.

这是一个代码。您需要为每个提交按钮设置不同的 id,然后您可以使用 Jquery 提交该表单。

我设置了复选框的 onchange 方法,它根据项目 id 提交表单。

<h1><%= @list.title %></h1>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<div>
<%index=0%>
<h2><% @list.items.each do |item| %></h2>
<%= item.content %>
<%= form_for([@list, item]) do |f| %>
<%=f.check_box :complete,{:onchange=> "submit_form("+@list.items[index].id.to_s+");"}%>
<%= f.submit :id=>@list.items[index].id%>
<%index+=1%>
<% end %>
<% end %>
</div>





<% if policy(@list).update? %>
<%= link_to "Edit List", edit_list_path, class: 'btn btn-success' %>
<% end %>



<div class="col-md-4">
<% if policy(Item.new).create? %>
<%= link_to "New Item", new_list_item_path(@list), class: 'btn btn-success' %>
<% end %>

<% if policy(@list).destroy? %>
<%= link_to "Delete List", @list, method: :delete, class: 'btn btn-danger', data: { confirm: 'Are you sure you want to destroy this lovely list?'} %>
<% end %>
</div>
</div>



<%= render "items/form" %>



<script>
function submit_form(id) {
$('#'+id).click();
}

</script>

关于javascript - 在 ruby​​ 代码上通过 Jquery 触发点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27241541/

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