2016-08-15 7 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'; 

CakePHP select default value in SELECT input
http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html

例これらのURLを確認してください:これは与えられた複数選択の選択、値であるので

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