2014-01-13 36 views
0

我正在添加多个下拉列表,但我希望在默认情况下选择一些值。使用默认选定值的多个下拉列表

form->addField('DropDown', 'fieldname','Field Caption')->setAttr('multiple')->setModel('SomeModel'); 

所以当用户打开这个表单时,会选择ID为1,5和6的值。我查了网上,但没有发现任何的例子对于这个..

还检查atk4 \ LIB \表格\域\ DropDown.php,但无法找到的解决办法:(

我知道表单通常用法是这样的:

$form->addField('line','name')->set('John'); 

但ID不会提前在这里工作

感谢

解决方案:?!

if($campaign->get('labels')){ 
$jsfunction = 'var values="'.$campaign->get('labels').'";$.each(values.split(","), function(i,e){$("#nottyfly_createcampaign_form_labels option[value=\'" + e + "\']").prop("selected", true);})'; 
    $this->js(true,$jsfunction); 
} 

回答

0

这里是快速代码:

$jsfunction = 'var values="'.$campaign->get('labels').'";$.each(values.split(","), function(i,e){$("#nottyfly_createcampaign_form_labels option[value=\'" + e + "\']").prop("selected", true);})'; 
$this->js(true,$jsfunction); 
1

这不是在ATK4的Form_Field_DropDown类中实现的,但我猜你可以在这种情况下用jQuery(JavaScript)做一些事情 - 在JS文档/字段onLoad事件上选择()值。