问题:它只提交页面上的第一个表单。
我有一个待办事项,完成后可以通过单击复选框来检查。
在我的部分我有一个表格。它的渲染次数与待办事项一样多,但具有不同的 id。在表单中有一个复选框。单击时表单提交。
部分的
<%= form_for todo, :remote => true, :html => {:id => "edit_done_todo_#{todo.id}"} do |f| %>
<%= f.hidden_field(:done_by_user_id,:value => current_user.id) %>
<%= f.check_box :completed, :class => "done_box", :id => todo.id %>
<% end %>
这是javascript
jQuery.fn.mark_todo_done = function (){
var id = $(this).attr("id")
console.log(id)
$("#edit_done_todo_" + id).submit()
};
$(document).ready(function() {
$(".done_box").live("click", function() {
$(this).mark_todo_done();
})
})
console.log 显示正确的 id。但是,页面上的第一个表单被提交。