CakePHP2 - 输入的默认值 - select 带有选项 multiple

CakePHP2 - Default value for input - select with option multiple

我有多个 select 选项的表单输入。我无法设置默认值。这是我的代码:

      <?= $this->Form->input('PaymentMethods', array(
          'type' => 'select',
          'multiple' => true,
          'label' => false,
          'options' => array(
            'cash'=>'cash',
            'invoice'=>'invoice',
            'ax'=>'ax',
            'ca'=>'ca',
            'vi'=>'vi',
            'tp'=>'tp',
            'dc'=>'dc'
          ),
          'default'=>'ax'
      )); ?>

如何仅使用 PHP 为该输入设置默认值?

这适用于我的系统。您也可以像这样从控制器设置它:

$this->request->data[$this->modelClass]['PaymentMethods'] = 'ax';

请同时检查这些 url CakePHP select default value in SELECT input
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html

示例:

$sizes = array('s' => 'Small', 'm' => 'Medium', 'l' => 'Large');
echo $this->Form->input(
    'size',
    array('options' => $sizes, 'default' => 'm')
);

由于是多项选择select,给定的值必须是数组。而且密钥不应该是 default,我应该使用 value 来代替。

  <?= $this->Form->input('PaymentMethods', array(
      'type' => 'select',
      'multiple' => true,
      'label' => false,
      'options' => $options,
      'value'=> $array_of_data_fetched_from_database
  )); ?>