我正在使用CakePHP框架开发一个站点。我有一个显示实体列表的表单,每个实体都有一个复选框,允许您选择它。然后,您可以按表单底部的“编辑所选”按钮。
我通常的方法是为每个复选框输入相同的名称(例如row_id
),并使用主ID作为输入value
。但是,当您提交表单时,CakePHP似乎只会将复选框值的一个返回到$this->params['url']
中的控制器,而不是像我期望的任何类型的列表。
有关处理此问题的正确方法的任何提示,以便我可以找出已勾选的行?
答案 0 :(得分:1)
如果您使用的是FormHelper,最简单的方法是创建这样的字段:
echo $form->input('ModelName.0.row_id', /* snip */)
echo $form->input('ModelName.1.row_id', /* snip */)
等等......你明白了。如果它是动态列表,则始终存在for
循环。
当表单被POST时,这应该给你一个像这样的服务器端数组($ this-> data):
array
(
['ModelName'] => array
(
[0] => array
(
[row_id] => value
),
[1] => array
(
[row_id] => value
)
)
)
然后你可以使用Set实用程序类来提取你的ID(并弄乱你的数据:))