yiqing95, on 13 October 2012 - 07:08 AM, said:
if support the refreshListViewId(refreshListId) it will be better .

although it can achieved this way
That EQuickDlgs::checkDialogJsScript($customJsScript); method is in Controller itself.
How could i pass some $data = array(...) from that controller to that $customJsScript ?
I need to update a form dropdown like this:
FORM:
<?php echo $form->dropDownListRow($model, 'actividad_id',$actividades,
array(
'style'=>'width:100%;',
'empty'=>'Seleccione Actividad',
'errorOptions'=>array('style'=>'display:none;'),
'labelOptions'=>array('style'=>'display:none;')
)); ?>
<?php EQuickDlgs::iframeButton(
array(
'controllerRoute' => '/actividades/ajaxCreateFromInteraccion',
'urlParams'=>array('id_proceso'=>$id_proceso, 'ajaxRequest'=>1),
'hideTitleBar' => true,
'dialogTitle' => 'Crear nueva actividad',
'dialogWidth' => 550,
'dialogHeight' => 335,
'openButtonText' => 'Nueva Actividad',
'closeButtonText' => 'Cerrar',
'closeOnAction' => true, //important to invoke the close action in the
)
);
?>
CONTROLLER ACTION:
public function actionAjaxCreateFromInteraccion($id_proceso=null)
{
if(isset($_GET['ajaxRequest']) && $_GET['ajaxRequest']== 1){
$model=new Actividades;
$model->proceso_id = $id_proceso;
if(isset($_POST['Actividades']))
{
$model->attributes=$_POST['Actividades'];
if($model->save(false)){
$criteria = new CDbCriteria;
$criteria->select = 'id_actividades, name';
$criteria->addCondition('proceso_id ='.$id_proceso);
$actividades = CHtml::listData(Actividades::model()->findAll($criteria), 'id_actividades', 'name');
echo CJSON::encode($actividades); //DATA I WANT TO PASS TO FORM
EQuickDlgs::checkDialogJsScript(-------- ? ----------);
}
}
EQuickDlgs::render('_create',array('model'=>$model));
}else
throw new CHttpException(400,'Accion invalida. No la intente de nuevo.');
}
I tried:
EQuickDlgs::checkDialogJsScript("
window.parent.$('#Interacciones_actividad_id').val(data);
");
But i get : "data is not defined" firebug msg.
Ty, for your answer.