2017-02-09 56 views
0

我渲染问题与多renderAjax窗体Yii2

public function actionUser() 
{ 

    $model = new UserInfoForm(); 
    $model->user_id = $this->user->id; 
    $validation = $this->performAjaxValidation($model); 

    if(null !== $validation){ 
     return $validation; 
    } 

    $user = Yii::$app->user->identity; 
    return $this->renderAjax('user.php',[ 
      'error' => $error, 
      'user' => $user, 
      'model' => $model 
      ]); 

} 

而且在user.php的,我有以下行来获取所有用户的公司和职位

<a href="<?= Url::to(['user/details', 'id' => $user_id]) ?>">Show User Companies and Jobs</a> 

现在,在用户细节阿贾克斯形式动作

public function actiondetails() 
    { 

     $model = new UserJobsForm(); 
     $validation = $this->performAjaxValidation($model); 

     if(null !== $validation){ 
      return $validation; 
     } 

     $companies = Companies::getUserCompanies(); 
     $jobs = BlogPost::getUserJobs(); 

     return $this->renderAjax('user_info.php',[ 
       'error' => $error, 
       'model' => $model, 
       'companies' => $companies, 
       'jobs' => $jobs 
     ]); 

    } 

在我的user_info.php视图页面中,我能够看到所有的细节。我也看到了user.php视图页面,这是因为,我在user.php上渲染user_info页面。我的要求是不打开新页面。所以我想在user.php之上渲染。我想在user_info.php呈现后立即关闭user.php。我怎样才能做到这一点??

+0

提供更多的信息,并添加视图和控制器代码。 – stfsngue

+0

@stfsngue我编辑我的问题与控制器和查看 –

+0

你是否在模态对话框中呈现user.php和user_info.php? – stfsngue

回答

0

如果你只是想关闭另一个模式,你可以调用USER_INFO视图下方的脚本

<script type="text/javascript"> 

    $(function(){ 
     $('#id_of_user_modal').modal('hide'); 
    }); 

</script>