gpt4 book ai didi

jquery - 单击时内联编辑 ,Rails 3.0/jQuery AJAX
转载 作者:行者123 更新时间:2023-12-01 01:18:34 26 4
gpt4 key购买 nike

我正在寻找最 Rails-y 的方式来创建一个显示数据元素的表,这样当用户单击任何行时,该行就变得可编辑。到目前为止我所得到的:

  1. 表格中的每一行都由部分呈现

  2. 我将 jQuery 事件处理程序绑定(bind)到行上的单击事件,该事件使用 jQuery.load 将编辑部分的 HTML 加载到行中

使用以下代码,这几乎可以工作:

任务.js

$(document).ready(function() {
$('.task_row').click( function() {
var id = $(this).attr('id');
$('#' + id).load('/tasks/' + id + '/edit');
//$(this).unbind('click');
});
});

_edit_row.html.erb

<%= form_for(task, :remote => true) do |f| %>
<td>
<%= f.text_field :title %>
</td>
<td>
<%= f.text_field(:due_date_string, :value => format_time(f.object.due_date)) %>
</td>
<td>
<%= f.text_field(:tag_string) %>
</td>
<td>
<%= f.submit %>
</td>
<td>
<%= link_to 'Delete', task, :confirm => 'Are you sure?', :method => :delete %>
</td>
<% end %>

问题是表单未提交。单击 f.submit 按钮(“更新”)时,没有任何反应 - 没有 JS 错误,没有向服务器发出请求。

对于此类事情,这可能是完全错误的方法。最初我想使用 javascript 来完成整个事情,手动读取值并对我的 Rails Controller 上的 update 方法进行 jQuery ajax 调用,但我认为可能有一种更简单的方法来做到这一点。有什么建议吗?

最佳答案

我发现最简单的方法是,正如您所建议的,在 javascript 中进行所有编辑,然后进行 ajax 调用来更新服务器。

我更喜欢 jQuery DataTables 插件 - http://datatables.net/与 jEditable 配对(请参阅 http://www.datatables.net/examples/api/editable.html ),但如果 DataTables 不能满足您的需求,还有其他不错的插件。

关于jquery - 单击时内联编辑 <table>,Rails 3.0/jQuery AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7947246/

26 4 0