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 страницу тогда там вижу что ничего не поменялось---------- Добавлено 30.05.2015 в 15:34 ----------protected function afterSave() {
parent::afterSave();
if(isset($_POST['check_admin_bank_fk'])){
echo $this->check_admin_bank_fk = $_POST['check_admin_bank_fk'];
$this->save();
}
вместо того, вот так заработало сохранение . подсмотрел тут
в том то и проблема что на этом форуме быстрей чем там.
У меня вот еще такой:
У меня второй селект показывает вот такое
name="check_admin_bank_fk"
Что нужно тут поменять
echo CHtml::dropDownList('check_admin_bank_fk','', Bank::IdBankForIdCompany($model->check_admin_bank_fk) );
что бы вышло такое во втором селекте?
name="Check[check_admin_bank_fk]"
Пробовал вот такое:
echo CHtml::activeDropDownList($model, 'check_admin_bank_fk', Bank::IdBankForIdCompany($model->check_admin_bank_fk));
Но в него динамически не передает тогда с первого селекта, только то что по дефолту подгрузилось и усе.
Капец, сколько сайтов надо перелапатить что бы понять... два дня почти ковырялся что бы добится, что бы сделать именно через Yii средства. И все таки сделал. На ответ натолкнул этот пост - открыть
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. Только вопрос, что это значит за параметр с подчеркиванием?
?id=2&_=1432925676812
По
http://www.yiiframework.com/wiki/24/"] этойсделал.
Потом отрыл эту
эту. Но она только первую расширяет, украшения только добавляет, такие как сообщение в селекте, но суть не решает.
Вот мой динамик экшн результирующий:
public function actionDynamicBanks() { $id=(int)$_GET[ ' id ']; $data=Bank::model()->findAll('bank_admin_company_fk=:id', array(':id'=>$id)); $data=CHtml::listData($data,'bank_id','bank_name'); echo "<option value=''>Название банка</option>"; if(!empty($data)) foreach($data as $value=>$name) { echo CHtml::tag('option', array('value'=>$value),CHtml::encode($name),true); } else echo CHtml::tag('option', array('value'=>'0'),CHtml::encode('0'),true); }
Потом эту попробовал возпроизвести. С виду даже таблици создают в базе, полагал то проект стартануть должен с "пол пинка". Но там тоже засада, в какой из файлов "_from.php" неизвестно вставлять код.
'url'=>CController::createUrl('/dynamicBanks/', array('id' => $model->check_admin_company_fk) ),
Вот тут я так понимаю должно селектыд передавать а не ключ модели. нет?
Допустим пишу так без модели:
'url'=>CController::createUrl('/dynamicBanks/', array('id' => 1) ),
Получаю первую запись как и выше. Пишу так:
'url'=>CController::createUrl('/dynamicBanks/', array('id' => 2) ),
тогда в селект удается все таки вставить то что было во второй записи.
как селектед передать?
С консоли:
Uncaught TypeError: Cannot read property 'msie' of undefinedAjax_upload @ ajaxupload.js:77$.ajax_upload @ ajaxupload.js:23(anonymous function) @ download.js:7jQuery.Callbacks.fire @ jquery.js:3119jQuery.Callbacks.self.fireWith @ jquery.js:3231jQuery.extend.ready @ jquery.js:3443completed @ jquery.js:3474
ajaxupload.js:259 Uncaught TypeError: Cannot read property 'attr' of null
Вот что надо было дописать что бы и поле которого нету видел грид
$criteria->compare('sum0',$this->sum0);---------- Добавлено 18.05.2015 в 03:02 ----------и в самой модели
public $sum0;
Добрый день, уважаемый ТС. Скиньте пожалуйста рабочую версию парсера, если Вам его сделали. Я компенсирую вам немного затраты.