我的任务是使用x可编辑库在Symfony 4中进行引导。 单击表中的字段后,出现“输入”,并且字段中的值也是如此。我有一个要更新数据库的问题。在下面的代码中,我正在使用固定值“ Koralik”对数据库进行更新。我希望使用“输入”中的值进行更新,以求基础。
<table id="tab1" class="table table-bordered table-striped table-hover">
<thead style="color:blue;">
<tr><th>Imię</th><th>Nazwisko</th></tr>
</thead>
<tbody id="myTable">
{%for kierowca_one in kierowca%}
<tr class="text-success">
<td>{{kierowca_one.Imie}}</td>
<td><span class="myElement" data-type="text" data-pk="
{{kierowca_one.id}}" data-url="{{path('app_update',
{id:kierowca_one.id})}}">{{kierowca_one.Nazwisko}}</span> </td>
</tr>
{%endfor%}
</tboody>
</table>
$('.myElement').editable({
type: "POST",
emptytext: 'Brak',
showbuttons: false,
mode: 'inline',
//dataType: 'json',
validate: function(value){
if($.trim(value) == '')
{
return 'This field is required';
}
}
});
/**
* @Route("/update/{id}", name="app_update", methods={"GET"})
* @IsGranted("ROLE_USER")
*/
public function updateMethod(EntityManagerInterface $em, $id)
{
$repository=$em->getRepository(Kierowcy::class);
$kierowca=$repository->find($id);
$kierowca->setNazwisko('Kowalik');
$em->persist($kierowca);
$em->flush();
return new Response();
}
答案 0 :(得分:0)
这是我的方法。
js文件
$('#s').editable({
selector: '.js-editable',
url: urlUpdateTopic,
params:function(params){
params.pk = $(this).closest('tr').data('id');
return params;
},
success: function(value, response) {
if(response){
$(this).html(value);
}
},
error: function(response) {
if(response.status === 500) {
console.log('Service unavailable. Please try later.');
} else {
console.log(response.responseText);
}
},
type: 'text',
pk: 1,
mode: 'inline',
showbuttons: false,
toggle: 'dblclick',
onblur: "submit",
clear: false,
emptytext: ''
});
这是控制器
public function updateTopicAction(Request $request)
{
$id = $request->request->get('pk');
$value = $request->request->get('value');
}
看到一个很好的例子