在选择输入CakePHP中选择默认值(CakePHP select default value in

2019-07-21 19:35发布

使用CakePHP:

我有一个多到一的关系,让我们假装这是很多叶子来树木。 当然,我烤了一个形式向叶加入到一棵树,你可以指定它是由形式帮助创建了一个下拉框(标签)的树。

唯一的一点是,选择框始终默认为树#1,但我想它默认为它被添加到树:

例如,调用example.com/leaf/add/5会弹出界面自新添加到树#5。 对于下拉框Leaf.tree_id将默认为“树5”,而不是“树1”,它目前默认为。

我需要什么,把我的叶控制器和叶view/add.ctp做到这一点?

Answer 1:

你永远不应该使用select() ,或text()radio()等; 这是可怕的做法。 您应该使用input()

$form->input('tree_id', array('options' => $trees));

然后在控制器:

$this->data['Leaf']['tree_id'] = $id;


Answer 2:

在CakePHP 1.3中,使用'default'=>value来选择的选择输入的默认值:

$this->Form->input('Leaf.id', array('type'=>'select', 'label'=>'Leaf', 'options'=>$leafs, 'default'=>'3'));


Answer 3:

第三个参数应该是(“选择” =>值)状阵列



Answer 4:

 $this->Form->input('Leaf.id', array(
'type'=>'select',
'label'=>'Leaf',
'options'=>$leafs,
'value'=>2
));

这将选择从$叶子选项列表默认的第二个索引位置值。



Answer 5:

假设你使用表单辅助函数生成表单:

select(string $fieldName, array $options, mixed $selected, array $attributes, boolean $showEmpty)

设置第三个参数来设置所选选项。



Answer 6:

要在一个选择框文本默认使用$form->select()方法。 这里是你如何做到这一点。

$options = array('m'=>'Male','f'=>'Female','n'=>'neutral');

$form->select('Model.name',$options,'f');

上面的代码将选择Female在默认列表框中。

保持烘焙...



Answer 7:

FormHelper::select(string $fieldName, array $options, 
array $attributes)

$attributes['value']来设置,其值应选择默认

<?php echo $this->Form->select('status', $list, array(
    'empty' => false, 
    'value' => 1)
); ?>


Answer 8:

如果您正在使用以上CakePHP的3.0版,那么您可以在选择输入使用空属性添加默认值下面的例子给出英寸

echo $this->Form->input('category_id', ['options'=>$categories,'empty'=>'Choose']);


Answer 9:

最好的答案,这可能是

不要这个工作使用的输入使用SELCT代替

像这样

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

希望能帮助到你。



Answer 10:

cakephp的版本> = 3.6

echo $this->Form->control('field_name', ['type' => 'select', 'options' => $departments, 'default' => 'your value']);


文章来源: CakePHP select default value in SELECT input