gpt4 book ai didi

javascript - 在 Rails 中的复选框上实现 AJAX 调用以更新数据库

转载 作者:行者123 更新时间:2023-11-30 17:30:24 25 4
gpt4 key购买 nike

这里是 Rails 新手。

我正在尝试制作一个名为“事件”的复选框,当复选框被选中/取消选中时,它将充当一个表单,并使用 AJAX 自动更新具有更改属性的数据库(没有提交按钮)。我在这里使用说明:http://trevorturk.com/2010/08/24/easy-ajax-forms-with-rails-3-and-jquery/但似乎无法使其正常工作。

在我看来:

<%= form_for @post, :remote => true do |f| %>
<%= f.label :active %>
<%= f.check_box :active, :class => 'submittable' %>
<% end %>

在我的 posts_controller.rb 中

def update
if @post.update(post_params)
flash[:notice] = "Your post was edited."
redirect_to post_path(@post)
else
render :edit
end
end

然后我使用以下代码在我的 views/posts 文件夹中创建了一个名为“archive.js.erb”的文件:

$('.submittable').live('change', function() {
$(this).parents('form:first').submit();
});

最佳答案

我试过你的代码,问题似乎出在 javascript 的 live 方法上。如果我更改为点击功能,它会起作用:

$(document).ready(function(){

$('.submittable').click(function() {
$(this).parents('form:first').submit();
});

});

编辑:忘记提及此 javascript 包含在 app/assets/javascripts 目录中。这是因为 javascript 必须加载到 document.ready 上,jQuery ajax 才能产生您想要的效果。

arquive.js.erb 文件必须存在,以防您在 Controller 上执行 arquive 操作,并且稍后将执行其中的 javascript 代码。这不是你的情况。

关于javascript - 在 Rails 中的复选框上实现 AJAX 调用以更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23208462/

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