YiiFramework YII select с динамическим контентом

  • Автор темы Удалённый пользователь 19687
  • Дата начала

Удалённый пользователь 19687

Guest
делал по инструкции. Помогите пожалуйста, ошибку найти. Присваивается постоянно check_admin_company_fk=1 и передается во второй селект, остальные ключи других компаний не видит буд-то бы.


Код:
 echo $form->dropDownList($model,'check_admin_company_fk', CompanyAdmin::alladmin(),
            array(
            'options' => array('2'=>array('selected'=>true)),
            'ajax' => array(
            'type'=>'GET', 
            'url'=>CController::createUrl('/dynamicBanks/', array('id' => $model->check_admin_company_fk) ), //url to call.
            'update'=>'#check_admin_company_fk', 
            ))); 
            echo $form->error($model,'check_admin_company_fk');
Напрямую проверил урлы
http://localhost/dynamicBanks/id/1.html
http://localhost/dynamicBanks/id/2.html
Данные отдает, а в селект второй не передает то что в id=2. Указал жестко селектетед с ид=2 и тоже не показывает во втором селекте
 

Удалённый пользователь 19687

Guest
Капец, сколько сайтов надо перелапатить что бы понять... два дня почти ковырялся что бы добится, что бы сделать именно через Yii средства. И все таки сделал. На ответ натолкнул этот пост - открыть

PHP:
  echo $form->dropDownList($model,'check_admin_company_fk', CompanyAdmin::alladmin(),
                 
            array(

            'ajax' => array(
            'type'=>'GET',
            'url'=>CController::createUrl('/dynamicBanks' ),
         
            'update'=>'#bank_id',
            'data'=>array('id'=>'js:this.value'),
            )));
Вот тут надо было передавать айдишник 'data'=>array('id'=>'js:this.value'), и всегото. а с урл убрать, я подсознательно понимал что ид где-то должен передаватся, вот и подумал что по типичному к урл добавить... и "лепил")).

Передаются теперь id. Только вопрос, что это значит за параметр с подчеркиванием?
PHP:
?id=2&_=1432925676812
 

Удалённый пользователь 19687

Guest
Код:
      protected function beforeSave() {
      if(parent::beforeSave()) {      
        if(isset($_POST['check_admin_bank_fk'])){
            echo $this->check_admin_bank_fk = $_POST['check_admin_bank_fk'];
        }
      }
    }
Вот так написал в модели, тогда во view не переходит, просто обновляется страница с формой редактирования и в ней задано то что выбирал. Но когда перехожу во вьею или в admin страницу тогда там вижу что ничего не поменялось.
Как сохранить значение со второго селекта?
 
Сверху