1

我发现其他人在尝试选择多个复选框时遇到了同样的问题,只选择了最后一个。这是一个这是另一个

人们建议使用这样的选项

echo $this->Form->input('video',array('options'=> array('Value 1'=>'Label 1',
                                                   'Value 2'=>'Label 2',
                                                   'Value 3'=>'Label 3'
                                                   ),
                                  'multiple' => 'checkbox'
    ));

我认为这些都不能回答我的问题。我的复选框是循环生成的,但每个人都建议使用“选项”来设置值。我不知道要生成多少个复选框,所以我不知道它是如何工作的。

<table>
<?
    echo $this->Form->create(null,array(
                    'onsubmit'=>'return confirm("Are you sure you want to archive?'));
?>              
    <th>Order ID</th><th>Order Date</th><th>Order Total</th><th>Status</th><th>View</th><th>Select to Archive</th>
    <?php foreach ($orders as $order): 
        ?>
        <tr>
            <td><?php echo $order['Order']['orderid'];?> </td>
            <td><?php echo $formatted_date." ".$time; ?></td>
            <td><?php echo $order['Order']['total'];?> </td>
            <td><?php echo $order['Order']['order_status'];?> </td>
            <td><a href="/orders/details/<?php echo $order['Order']['orderid']; ?>"/>View Order</a> </td>
            <td><? echo $this->Form->checkbox('archive_value', array('hiddenField' => false, 'value' => $order['Order']['orderid'])); ?></td>
        </tr>
    <?php endforeach; ?>
</table>

<?php //options for the archiving values

$archive_options = array(
                'selected' => 'Archive Selected Orders',
                'filled' => 'Archive All Filled Orders',
            );
?>  
<table class = "table_order_status">
<tr>
    <td>
        <?
        echo $this->Form->input('archive_values', array('options' => $archive_options, 'value' => $select_value, 'name' => 'archive'));
        ?>
    </td>
    <td>
        <?
        echo $this->Form->end(__('Submit')); 
        ?>
    </td>
</tr>
</table>

<?
4

1 回答 1

2

尝试在输入元素名称的末尾附加一个句点,即video.(源自此论坛帖子)。这显然会导致元素采用数组名称样式表示法,例如video[],尽管它可能是Model.video[]。无论如何,这应该允许您在表单数据中接收所有检查的值。

于 2013-05-27T17:57:00.057 回答