使用Rails和jQuery处理内联编辑表单的好方法

使用Rails和jQuery处理内联编辑表单的好方法,jquery,ruby-on-rails,Jquery,Ruby On Rails,我有一个项目列表,以一系列div显示。当有人点击一个“编辑”链接时,我想用一个表单来替换div,这样他们可以很好地编辑该项目的内容 我在想处理这件事的理想方法。我是否为列表中的每个项目创建一个隐藏的编辑表单,并钩住编辑链接以显示它,如下所示: <div> <a href="#">edit</a> Item One <div id="edit_1202" class="editform">Edit form goes here<

我有一个项目列表,以一系列div显示。当有人点击一个“编辑”链接时,我想用一个表单来替换div,这样他们可以很好地编辑该项目的内容

我在想处理这件事的理想方法。我是否为列表中的每个项目创建一个隐藏的编辑表单,并钩住编辑链接以显示它,如下所示:

<div>
    <a href="#">edit</a> Item One
    <div id="edit_1202" class="editform">Edit form goes here</div>
</div>
<div>
    <a href="#">edit</a> Item Two
    <div id="edit_2318" class="editform">Edit form goes here</div>
</div>

项目一
编辑表格在这里
项目二
编辑表格在这里
还是有更好的方法来获取数据并将表单的HTML插入到正确的位置?记住,我使用的是jQuery,所以我不能使用原型助手


谢谢

我建议使用某种插件。这是一个相当标准的特性,为什么要重新编码别人已经写过的东西呢?查看插件


看过你的评论后,是的。如果您想让所有内容都立即可编辑,我可能会像您描述的那样使用jQuery。我想我没有见过一个插件一次处理多个字段。

我想这就是你想要的:jquery原地编辑插件

我最近用过它,它在一个地方工作。查看上面第一个链接中的示例

如果这真的不是您想要的,那么您可能希望加载一个远程页面 jqueryajax加载。然后您就可以添加任何类型的表单元素


找到答案的最短途径是瑞安·贝茨(Ryan Bates),这种情况经常发生。他在电视上有一集。虽然他没有具体介绍,但可以从他展示的基本知识中提炼出一个相当优雅的解决方案


在我的例子中,edit链接将被重写以向服务器发送ajax请求,服务器将返回javascript以使用表单编辑代码构建分部代码。简单,一旦你知道怎么做

那根本不是我想要的。我不想在列表中内联编辑项目,我想为整个项目打开一个完整的编辑表单,可能包括下拉列表、复选框等等。有关示例,请参见--编辑注释,它提供了适当的编辑表单。
$('.yourlinkid').click(function(){
   var id = $(this).attr('id');
   $("div#editThisDiv").load("/events/editAjax/" + id);
});