как выбрать значение индекса listData в activeDropDownList в Yii?

#php #yii

#php #yii

Вопрос:

У меня есть массив в listData, я хочу получить значение по activeDropDownList, а не по индексу, вот мой код:

 $salaries=array('1000$', '2000$', '3000$', '4000$', '5000$');
echo CHtml::activeDropDownList($model,'salary', $salaries,
                               array('empty'=>'Select salary',
                               'style'=>'width:300px', 'class'=>'form-control'));
  

когда данные отправляются на контроллер, значение $model-> salary = 1, если пользователь выбрал 2000 $, я хочу, чтобы значение было 2000 $.

Ответ №1:

Попробуйте это , array_combine

 $salaries=array_combine($salaries,$salaries);
  

Вы получаете массив array('1000$'=>'1000$','2000$'=> '2000$','3000$'=> '3000$', '4000$'=> '4000$', '5000$'=> '5000$')

Вот ваш должен быть ,

 $salaries=array('1000$', '2000$', '3000$', '4000$', '5000$');
$salaries=array_combine($salaries,$salaries);
echo CHtml::activeDropDownList($model,'salary', $salaries,
                               array('empty'=>'Select salary',
                               'style'=>'width:300px', 'class'=>'form-control'));