У меня есть два массива. Один из них - $ Категории, который содержит все категории, извлеченные из моего db, а другой - $ preSelectedCategories, который содержит категории, которые должны быть предварительно выбраны в моем списке флажков при загрузке моей формы. Я пытался это сделать:предварительно выбранные элементы в CActiveForm-> checkBoxList в Yii
<?php echo $form->labelEx($model,'category_id'); ?>
<?php echo $form->checkBoxList($model, 'category_id', $categories, $preSelectedCategories, array('multiple'=>true)); ?>
<?php echo $form->error($model,'category_id'); ?>
Но мне это не удалось. Может ли кто-нибудь помочь мне решить эту проблему? Благодаря!
Edit: я уже знал, что с помощью CHtml :: CheckBoxList может помочь, но то, что я хочу здесь использовать виджет CActiveForm :: CheckBoxList, потому что я использую модель для проверки списка флажка.
Я не знаю, как установить предварительно проверенную 'category_id' в контроллер. Не могли бы вы привести мне пример? –
Вы пробовали '$ model-> category_id = array_merge ((array) $ model-> category_id, $ preSelectedCategories);' перед вызовом '$ this-> render();' в действии контроллера? Я понятия не имею, как вы сохраняете эти значения и как это поле определено на вашей модели, поэтому это может не сработать, но это общая идея. (Добавьте код контроллера и модель к вашему вопросу, если он не работает, и вам нужна дополнительная помощь.) – DCoder
Спасибо, ваше решение работает очень хорошо! Я забыл, что мы можем устанавливать значения для атрибутов модели, прежде чем визуализировать представление, мое плохое! –