2016-08-15 13 views
1

У меня есть ввод формы с несколькими вариантами выбора. Я не могу установить значения по умолчанию. Это мой код:CakePHP2 - Значение по умолчанию для ввода - выберите с опцией несколько

 <?= $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?

ответ

1

Поскольку это многовариантное выбрать, значение с учетом должен быть массивом. И ключ не должен быть default, вместо этого я должен был использовать value.

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

Это работает на моей системе. Вы также можете установить его из контроллера, как это:

$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') 
);