多选下拉列表CakePHP 3选择了问题

时间:2017-03-02 12:59:48

标签: php cakephp

$selected_country = array(1,3);

$this->Form->input('country', [
    'options' => $source_types,
    'label' => 'Country: ',
    'multiple' => true,
    'class' => ' form-control',
    'selected' => $selected_country,
    'type' => 'select'
]);

如果所选国家/地区只有一个值,则会选择该选项,但如果所选国家/地区的值不止一个,则不会选择任何值。

2 个答案:

答案 0 :(得分:2)

如果您想在$ selected_country上传递多个值,请尝试:

echo $this->Form->select('rooms', [
    'multiple' => true,
    // options with values 1 and 3 will be selected as default
    'default' => [1, 3]
]);

参考:CakePHP Cookbook

答案 1 :(得分:0)

这对任何人都有效 echo $this->Form->input('venues._ids', ['options' => $venues, 'class'=>'form-control select4','label'=> false]);如果您已经建立了数据库关联,并且像这样在控制器中对其进行了引用

$event = $this->Events->get($id, [
            'contain' => ['Venues']
        ]);

否则,也可以在其中添加'default'=> [1,2] id,但是必须首先在控制器中创建它,然后以列表形式将其馈入视图。