繁体   English   中英

Symfony2获取所有选中的复选框

[英]Symfony2 get all selected checkbox

我正在一个Symfony2项目中工作,并且有一个名为File的实体。 在页面中,我有一个文件列表,并且为每个文件添加了一个check-box ,我想要的是在文件列表的末尾有一个submit button ,当我单击该按钮时,我希望删除文件。 我已经实现了将删除文件的action ,但是我不知道如何获取所选文件,因此我可以将它们传递给deleteAction($files)

这是树枝文件的代码:

<tr>
<th>File name</th>                      
<th>Commentary</th>
<th>Size</th>
<th>Product/ SN</th>
<th>Added at(UTC)</th>
</tr>

{% for file in allFiles %}
   <tr>                         
     <td class="name">
       <form name="form1" method="post" action="">
         <input type="checkbox" name="check_file"> {{ file.filename }}
       </form>                              
     </td>                                     

   <td>{{ file.uploaderComment }}</td>
   <td>{{ _self.bytesToSize(file.filesize) }}</td>


   <td>{{ file.product }}</td>
   <td>{{ file.added |date("Y/m/d H:i:s","UTC") }}</td>

  </tr>
 {% endfor %}

这是您要寻找的:

http://symfony.com/doc/current/reference/forms/types/choice.html

Symfony选择表单类型将满足您的需求。

您可以在控制器中添加处理表单提交的逻辑。

$form->handleRequest($request);

if ($form->isValid()) {
    // perform some action, such as deleting any file with field marked 'delete'
    $data = $form->getData();
    $data->getFiles();
    $deletethese = new ArrayCollection();
    foreach($files as $file){
        if($file->delete() == true){
            $deletethese->add($file);
        }
}

deleteAction($deletethese);

return $this->redirectToRoute('task_success');
}

请参阅有关表单提交的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM