如何在单击时编辑列表项?使用AJAX,jQuery,Rails4
How to edit list item on click? Using AJAX, jQuery, Rails4
当前我可以通过单击"编辑"链接来编辑列表项。
但是,我希望能够只是点击列表项来编辑它。
这是我的_item.html.erb部分。一个项目有很多项目,这就是为什么我使用id="<%= dom_id(item)
:
<li class="klikkaa" id="<%= dom_id(item) %>">
<%= item.description %>
<%= link_to 'Edit', edit_project_item_path(item.project, item), remote: true %>
</li>
Edit.js.erb:
$('#<%= dom_id(@item)%>').html("<%= j (render 'editform') %>");
我尝试在assets/javascripts/item.js中执行以下操作:
$(document).ready(function(){
$('.klikkaa').click(function(){
$('#<%= dom_id(@item)%>').html("<%= j (render 'editform') %>");
});
});
然而,我在控制台上得到一个错误:
"未捕获错误:语法错误,无法识别的表达式:#<%=dom_id(@item)%>"
单击列表项本身而不是单击"编辑"链接时,如何编辑列表项
如果您想在JS中包含rails中的变量和值,您应该将JS文件的名称更改为item.js.erb
。
Rails指南中的一个示例显示了如何使用Rails助手(asset_path
)
如果您将erb扩展添加到JavaScript资产中,使其成为例如application.js.erb,然后可以在中使用asset_path帮助程序您的JavaScript代码:
$('#logo').attr({ src: "<%= asset_path('logo.png') %>" });
我实际上能够使用"最佳位置"的gem,尽管最初我认为我不能使用嵌套资源。我真傻。我只需要定义:路径,例如:
<%= best_in_place item, :description, :path=> item_project_path(...) %>
相关文章:
- 使用$.ajax发布多个复选框
- 使用ajax将数据从一个步骤发送到下一个步骤的3步表单
- 使用ajax的服务器端分页&jQuery
- 使用ajax用jquery调用php函数
- 使用AJAX调用将GeoJSON数据拉入传单
- 使用ajax下载与存储名称不同名称的文件
- 我尝试在登录脚本中使用ajax,但页面不会重定向
- 如何使用Ajax调用特定的控制器和操作来重定向用户
- Javascript/jQuery压缩一个图像正确的评论帖子,并使用Ajax Laravel 5.2保存到控制器中
- 使用AJAX在剑道网格中分组时出现Javascript错误
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- JS-使用Ajax获取文件名
- 使用AJAX和PHP检查表单字段
- 在chrome扩展中使用AJAX获取目录中的文件数
- 使用Ajax提交表单
- 在更改名称时,使用ajax jsp在下拉菜单中填充多个文件夹的数据
- 如何在不使用ajax的情况下将pair值添加到数组并发送到django中的视图
- 使用Ajax的问题's发送多个值的Post方法
- 当使用ajax并将html数据保存为对象时,收听浏览器返回按钮.好的或坏的
- 使用formData使用ajax将图像插入数据库