我目前正在与 Symfony 4 和 Bootstrap 3 一起开发项目。
在一个特定的页面上,我正在为持久保存在数据库中的每个 Contact 实体生成一个包含一行的数组。该实体之一的创建由BootStrap模态中的 Symfony生成的表单处理。 我想通过单击单击行来编辑行(即对象),这将切换模式并用与此联系人相关的数据填充输入,并让我修改我想要的任何内容
我知道我将不得不使用Ajax来执行此操作,但是我对如何实现它有些迷失,因为我有点菜鸟:o
我真的很感谢这样做的任何提示!谢谢:)
答案 0 :(得分:0)
使用Jquery和“ friendsofsymfony / jsrouting-bundle”,您可以将编辑页面加载到该特定ID的弹出窗口中。
$('#your-popup').load(Routing.generate('contact_edit_page_route', { id : id }));
如果您还没有此路线联系人的编辑页面,请首先创建它。 不要忘记将options = {“ expose” = true}添加到路由,以便Jquery可以找到它:
/*
* @Route("/contact/edit/{id}", name="contact_edit_page_route", options={"expose"=true})
* @Method({"GET", "POST"})
*/
如果html看起来像这样:
{% for contact in contacts %}
<a data-id="{{ contact.id }}" class="load-popup">Edit</a><br/>
{% endfor %}
然后,您可以在javascript中执行以下操作:
$('.load-popup').on('click', function(){
var thisId = $(this).attr('data-id');
$('#your-popup').load(Routing.generate('contact_edit_page_route', { id : thisId }));
});