【发布时间】:2011-12-17 17:11:44
【问题描述】:
我必须显示“待办事项”清单(西班牙语)。
这个想法是,一旦选中了与某个项目关联的复选框,标签的文本就会通过 (text-decoration:line-through) 获得一条线,并且数据库中的一个属性(命名为:done)会被更新。
为此,我有以下几点:
在我看来:
<% @user_account.activities.each do |act| %>
<div class="checklist_check">
<%= check_box_tag 'activity_status', act.id, act.done, :class => 'activity_status' %>
<%= act.name %>
</div>
<% end %>
在javascript中:
$(function(){
$(".activity_status").live("change", function(act_id) {
$.ajax({
url: "/controller/done",
beforeSend: function() { alert("Hi") },
data: "id="+act_id,
success: function() { alert('Bye') }
});
});
});
在我的控制器中:
def done
@activity = Activity.find params[:id]
if @activity.done
@activity.update_attributes :done_by_date, false
else
@activity.update_attributes :done_by_date, true
end
end
我还为此操作设置了路线:获取“控制器/完成”
问题:
一旦我点击一个复选框,该函数就会被调用,并且 alert("hi") 会被执行,但成功函数不会,并且“done”属性永远不会在数据库中更新。
对我做错了什么有任何想法吗?你会怎么做?
提前致谢!
【问题讨论】:
-
你找到答案了吗?我也有同样的问题?
标签: jquery ruby-on-rails ajax checkbox