2014-08-08 3 views
0

У меня есть форма, имеющая несколько выпадающих меню в yii. Я должен автоматически заполнять выбранные значения в этом поле для выбора, когда приходит, чтобы редактировать данные. Я собираю данные и передаю их inot view file, но не уверен, как я могу заполнить значения в раскрывающемся списке. пожалуйста, помогите мнеАвтоматическое заполнение dropDownListRow поле формы в yii из базы данных

Вот код для мульти выбора выпадающего

echo $form->dropDownListRow($modelDomain, 'domain_id', $domain, array('title' => Yii::t('main', 'SELECT_DOAMIN'),'multiple'=>true ,'style' => 'width:250px;height:150px;')); 

ответ

0

Для выбора нескольких вам необходимо использовать параметр «Параметры»:

echo $form->dropDownListRow($modelDomain, 'domain_id', $domain, array('title' => Yii::t('main', 'SELECT_DOAMIN'),'multiple'=>true ,'style' => 'width:250px;height:150px;', 'options' => array(
1 => array('selected' => 'selected'), 
2 => array('selected' => 'selected'), 
))); 

Где 1 и 2 являются доменные идентификаторы взято из $ _POST;

Вы можете сделать это в действии:

$post = $this->getRequest()->getPost('ModelName'); 
$selectedDomains = $post['domain_id']; // this should be an array or selected values 
$selected = array_fill(0, count($selectedDomains), array('selected' => 'selected')); // this constructs the 'options' value from view 
$selectedOptions = array_combine($selectedDomains, $selected) // this is the 'options' array with selected values as keys and htmlOptions as values 

Кроме того, код не тестировался, и вы должны сделать ваши валидаций и другая логика вещи самостоятельно.

+0

Да, это работает для меня :) спасибо – Sanjay