2014-01-13 51 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事件上選擇()值。