我的编辑表单中有多个选择输入: -
<?php echo $this->Form->input('Article.tags', array('type' => 'select', 'multiple' => true, 'options' => $tags, 'selected' => array($selected))); ?>
Run Code Online (Sandbox Code Playgroud)
当回显时,$selected变量将如下所示: -
"MySQL", "PHP"
Run Code Online (Sandbox Code Playgroud)
但是,输入不会自动选择与标记匹配的选项.
但是,当我手动输入所选的选项时,它会自动选择那两个选项; 例如
<?php echo $this->Form->input('Article.tags', array('type' => 'select', 'multiple' => true, 'options' => $tags, 'selected' => array("MySQL", "PHP"))); ?>
Run Code Online (Sandbox Code Playgroud)
有没有什么办法解决这一问题?谢谢.
Joh*_*Doe 16
啊,我解决了这个问题.
我看错了方向.我假设所选的值应该是字符串形式,引号和逗号分隔.(例如"MySQL","PHP","jQuery").
相反,它应该是数组格式,没有任何引号和逗号.例如
Array
(
[0] => MySQL
[1] => PHP
[2] => jQuery
)
Run Code Online (Sandbox Code Playgroud)
一旦我将数组整理出来,我将其传递给视图; 例如$ this-> set('selected',$ myArray);
然后在表格上,我只需要像这样回应: -
<?php echo $this->Form->input('Article.tags', array('type' => 'select', 'multiple' => true, 'options' => $tags, 'selected' => $selected)); ?>
Run Code Online (Sandbox Code Playgroud)
小智 5
使用默认关键字:
<?php echo $this->Form->input('Article.tags',array('options'=>$tags,'type'=>'select','label'=>'TDSP','class'=>'distributeSelect','multiple'=> 'true','default' => $selected));?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16197 次 |
| 最近记录: |