2016-03-16 5 views
3

Я использую Yii 1.1.17. Я хотел бы знать, как добавить отключенный параметр в раскрывающийся список из массива. Я знаю способ, как добавить опции один за другимYii: Как установить опции dropDownList 'из массива

echo CHtml::tag('td', array('class' => 'row'), 
    CHtml::dropDownList(
     'TicketTypeAttribute['.$attr->ID.'][C_FTYPE]', 
     $attr->C_FTYPE, 
     TicketTypeAttribute::itemAlias('C_FTYPE'), 
     [ 
      'options' => [ 
       'INT' => ['disabled' => 'disabled'] 
      ], 
      'style' => 'width: 97%;', 
      'class' => 'ftype' 
     ] 
    ) 
); 

но есть ли способ добавить его из массива?

if($attr->C_FTYPE == 'DATETIME') { 
    $disallow = ['DECIMAL', 'INT', 'BOOLEAN', 'ENUM', 'BROKER_ID_BASE', 'BROKER_ID_ORG']; 
} else { 
    $disallow = ['INT', 'BOOLEAN', 'DECIMAL', 'DATETIME', 'ENUM', 'BROKER_ID_BASE', 'BROKER_ID_ORG']; 
} 

Что-то вроде

echo CHtml::tag('td', array('class' => 'row'), 
    CHtml::dropDownList(
     'TicketTypeAttribute['.$attr->ID.'][C_FTYPE]', 
     $attr->C_FTYPE, 
     TicketTypeAttribute::itemAlias('C_FTYPE'), 
     [ 
      'options' => [ 
       $disallow => ['disabled' => 'disabled'] 
      ], 
      'style' => 'width: 97%;', 
      'class' => 'ftype' 
     ] 
    ) 
); 
+0

может быть это может помочь .. Http://stackoverflow.com/questions/16604719/yii-method-to-disable-selected-op from-multi-select-dropdown – MKD

ответ

1

достаточно легко построить массив себя

$disallowed_options = []; 

foreach($disallow as $option_key){ 
    $disallowed_options[$option_key] = ['disabled'=>'disabled']; 
} 

Затем в конфиге

'options'=> $disallowed_options, 
+0

Большое вам спасибо, это действительно работает – Mef45

Смежные вопросы