CakePHPの使用:
私は多対1の関係にあります。多くのリーフからツリーへのふりをしましょう。もちろん、フォームをベイクしてツリーにリーフを追加します。フォームヘルパーによって作成されたドロップダウンボックス(タグ)を使用して、ツリーを指定できます。
唯一のものは、SELECTボックスは常にツリー#1にデフォルト設定されますが、追加先のツリーにデフォルト設定したいです:
たとえば、example.com/leaf/add/5
を呼び出すと、新しいリーフをツリー#5に追加するためのインターフェイスが表示されます。 Leaf.tree_id
のドロップダウンボックスは、現在デフォルトになっている「ツリー1」ではなく、「ツリー5」にデフォルト設定されます。
これを行うには、リーフコントローラーとリーフview/add.ctp
に何を入れる必要がありますか?
select()
、またはtext()
、またはradio()
などを使用しないでください。それはひどい練習です。 input()
を使用する必要があります。
$form->input('tree_id', array('options' => $trees));
次に、コントローラーで:
$this->data['Leaf']['tree_id'] = $id;
CakePHP 1.3では、'default'=>value
を使用して、選択入力でデフォルト値を選択します。
$this->Form->input('Leaf.id', array('type'=>'select', 'label'=>'Leaf', 'options'=>$leafs, 'default'=>'3'));
3番目のパラメーターはarray( 'selected' => value)のようにする必要があります
$this->Form->input('Leaf.id', array(
'type'=>'select',
'label'=>'Leaf',
'options'=>$leafs,
'value'=>2
));
これにより、$ leafsのオプションのリストからデフォルトの2番目のインデックス位置の値が選択されます。
フォームヘルパーを使用してフォームを生成すると仮定します。
select(string $fieldName, array $options, mixed $selected, array $attributes, boolean $showEmpty)
3番目のパラメーターを設定して、選択したオプションを設定します。
cakephpバージョン> = 3.6
echo $this->Form->control('field_name', ['type' => 'select', 'options' => $departments, 'default' => 'your value']);
これに対する最良の答えは
このジョブではselectを使用せず、代わりに入力を使用
このような
echo $this->Form->input('field_name', array(
'type' => 'select',
'options' => $options_arr,
'label' => 'label here',
'value' => $id, // default value
'escape' => false, // prevent HTML being automatically escaped
'error' => false,
'class' => 'form-control' // custom class you want to enter
));
それが役に立てば幸い。
FormHelper::select(string $fieldName, array $options,
array $attributes)
$attributes['value']
どの値をデフォルトとして選択するかを設定します
<?php echo $this->Form->select('status', $list, array(
'empty' => false,
'value' => 1)
); ?>
選択ボックスのテキストをデフォルトにするには、$form->select()
メソッドを使用します。方法は次のとおりです。
$options = array('m'=>'Male','f'=>'Female','n'=>'neutral');
$form->select('Model.name',$options,'f');
上記のコードは、デフォルトでリストボックスでFemale
を選択します。
焼き続ける...
Cakephpバージョン3.0以降を使用している場合、以下の例に示すように、空の属性を使用して選択入力にデフォルト値を追加できます。
echo $this->Form->input('category_id', ['options'=>$categories,'empty'=>'Choose']);