0

我正在渲染复选框列表;使用以下代码说 10 个复选框:

<?php echo $this->Form->input('User.hobbies', array('options' => $hobbies_array, 'multiple' => 'checkbox'));?>

现在我想在渲染视图之前禁用其中一些复选框。意味着我不想使用 javascript 来禁用某些复选框。请建议,是否有任何类型的选项可以让我们提供复选框值数组来禁用其中一些复选框。请建议。

4

2 回答 2

1

目前还没有任何一种FormHelper方法可以使用两个数组,一个用于 checkboxlist,另一个用于禁用其中一些复选框。你必须让你自己的 Helper 类被类扩展FormHelper

于 2012-08-17T07:32:26.737 回答
0

我不确定这是否真的有效,因为我现在没有时间检查它,但似乎你可以通过FromHelper::inputs()完成这个。我建议你尝试这样的事情:

$form->inputs(array(
        'name' => array('label' => 'custom label'),
        'hobbies' => array(
            'label' => 'custom label',
            'type' => 'checkbox',
            'multiple' => true,
            'options' => $options

     )
));

其中 $options 是一个带有选项的复选框名称数组:

$options = array(
   'Thing1' => array(
      'Value 1' => 'Label 1',
      'disabled' => true
   ),
   'Thing2' => array(
      'Value 2' => 'Label 3'
   )
);

当我有时间的时候,我也会研究这个,因为这个概念很有趣。我不知道我什么时候有时间做一些研究,但我会发表评论或相应地更新我的答案。

于 2012-07-04T07:46:15.090 回答