Как добавить статические элементы в yii dropDownList? - PullRequest
2 голосов
/ 18 декабря 2011
echo $form->dropDownList(
              $model,'categoryId', 
                      CHtml::listData(Category::model()->findAllBySql(
                      'SELECT * from category where isnull(parent_id)'), 
                      'id', 'name'), 
                      array(
                            'empty'=>Yii::t('fim','Search All'),
                             Yii::t('fim','Jobs'), 
                             Yii::t('fim','Training'), 
                             Yii::t('fim','Events'), 
                             Yii::t('fim','News')
                      )
            );

Задания, Обучение, События и Новости не отображаются.

Как мы можем / должны построить это, чтобы добавить эти значения в поле выбора?

Спасибо

Ответы [ 2 ]

13 голосов
/ 19 декабря 2011

Вы не можете добавлять статические элементы, используя параметр $htmlOptions. Вот как я это делаю:

$data = CHtml::listData(Category::model()->findAllBySql(
                        'SELECT * from category where isnull(parent_id)'), 
                        'id', 'name');
// Add extra options here: I am actually prepending with this syntax,
// but you are free to append or interleave instead. Array keys are the values.
$static = array(
    'jobs'     => Yii::t('fim','Jobs'), 
    'training' => Yii::t('fim','Training'), 
    'events'   => Yii::t('fim','Events'), 
    'news'     => Yii::t('fim','News'),
);

echo $form->dropDownList(
    $model,
    'categoryId',
    $static + $data,
    array('empty'=>Yii::t('fim','Search All')));
0 голосов
/ 10 сентября 2014

Для меня я добавил код jquery и добавил опцию html

    $("#categoryId").append("<option value='0'>Additional Field</option>");

это менее сложно, и это работает для меня

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...