我从我的查询中获得了一个电子邮件地址列表,我想在我的表单中默认选择列表。如何实现?我的代码是
<div class="row col2">
<?php echo $form->labelEx($model,'email_to'); ?>
<?php
foreach ($mailList as $eachValue){
$selectedOptions[$eachValue] = array('selected' => 'selected');
}
echo $form->dropDownList($model,'email_to',$mailList,array('class'=>'span4 chosen','maxlength'=>20,'multiple' => 'multiple','options'=>$selectedOptions,'readonly'=>true));
?>
<?php echo $form->error($model,'email_to'); ?>
</div>
我的$ mailList仅包含电子邮件地址。
答案 0 :(得分:1)
除foreach
循环外,您的代码很好:
foreach ($mailList as $eachValue){
$selectedOptions[$eachValue] = array('selected' => 'selected');
}
假设$mailList
是一个类似的数组:
$mailList = array("a@a.com", "b@b.com", "c@c.com");
您必须预先选择值而不是option
标记的内容,因此,请修改foreach
之类的内容:
foreach ($mailList as $optionKey=>$optionVal) {
if ($optionVal) {
$selectedOptions[$optionKey] = array('selected' => 'selected');
}
}
这会将selected
属性添加到数组键。