我试图复选框选择表格行。并将其传递给另一个控制器。但它只通过了一个复选框。
在我的 View.ctp
中<table>
<thead>
<th>ID</th>
<th>Name</th>
<th>Action</th>
<th>select</th>
</thead>
<?= $this->Form->create('test', ['id' => 'test' , 'method'=>'POST', 'url'=>'/encomendas/fastadd']) ?>
<?php foreach ($items as $item): ?>
<tr>
<td><?= h($item->id) ?></td>
<td><?= h($item->name) ?></td>
<td><?= h($item->action) ?></td>
<td>
<?= $this->Form->checkbox('select', ['value' => '1']);?>
<?= $this->Form->hidden('id', ['default' => $item->id]);?>
</td>
</tr>
<?php endforeach; ?>
<?= $this->Form->button('send') ?>
<?= $this->Form->end(); ?>
</table>
并在
debug($this->request->data());
它只返回1个值。
答案 0 :(得分:1)
您必须传递select数组才能获取所有复选框值,如:
<?= $this->Form->checkbox('select.', ['value' => '1']);?>
OR
<?= $this->Form->checkbox('select[]', ['value' => '1']);?>
通过这种方式,您可以获得所有值。