单击yii2 gridview linkpager';s页否,跳转错误
gridview如果在页面的右边,左边是一些菜单,当点击第2页时,它不仅刷新了gridview,而且包括左边部分在内的所有页面都丢失了--一个全新的页面出现了!帮助~ 下面是调试屏幕截图: 我的行动是单击yii2 gridview linkpager';s页否,跳转错误,yii,yii2,cgridview,Yii,Yii2,Cgridview,gridview如果在页面的右边,左边是一些菜单,当点击第2页时,它不仅刷新了gridview,而且包括左边部分在内的所有页面都丢失了--一个全新的页面出现了!帮助~ 下面是调试屏幕截图: 我的行动是 public function actionList() { $model = new Loan(); $dataProvider = new ActiveDataProvider([ 'query' => $model->find(), 'pagination'
public function actionList()
{
$model = new Loan();
$dataProvider = new ActiveDataProvider([
'query' => $model->find(),
'pagination' => [
'pagesize' => '1',
],
]);
return $this->renderPartial('list', ['model' => $model, 'dataProvider' => $dataProvider]);
}
我的看法是:
<?php
use yii\grid\GridView;
use yii\grid\SerialColumn;
use yii\helpers\Html;
use yii\helpers\Url;
use yii\widgets\LinkPager;
?>
<?=GridView::widget([
'dataProvider' => $dataProvider,
'layout'=> '{items}{pager}',
'columns' => [
['attribute' =>'loan_type','label'=>'借款类型','options' => ['width' => '80']],
['attribute' =>'amount','label'=>'金额','options' => ['width' => '80']],
['attribute' =>'rate','label'=>'还款利率','options' => ['width' => '80']],
['attribute' =>'fee','label'=>'手续费','options' => ['width' => '80']],
['attribute' =>'status','label'=>'状态','options' => ['width' => '80'] ],
['attribute' =>'comment','label'=>'审核意见','options' => ['width' => '80']],
['attribute' => 'created_at','value' =>function($model){return date('Y-m-d',strtotime($model->created_at));},'label'=>'申请时间','options' => ['width' => '150']],
[
'class' => 'yii\grid\ActionColumn',
'header' => '操作',
'template' => '{audit}',
'buttons' => [
'audit' => function ($url,$model) {
return Html::a('<span id="xxxx" class="glyphicon glyphicon-user"></span>','#',['title'=>'审核',
'onclick'=>"
$.ajax({
type: 'GET',
dataType: 'text',
url: 'http://182.92.4.87:8000/index.php?r=loan/pj', //目标地址
error: function (XMLHttpRequest, textStatus, errorThrown) {alert(XMLHttpRequest.status + ':' + XMLHttpRequest.statusText); },
success: function (page)
{
$('.ucRight').html(page);
}
});
return false;",
]);},
],
'urlCreator' => function ($action, $model, $key, $index) {
return Yii::$app->getUrlManager()->createUrl(['loan/list','id' => $model->status]);
},
'headerOptions' => ['width' => '80'],
],
],
]);
?>
问题的原因是您没有阻止html链接指向新页面,因此您的用户正在单击该链接,然后该链接加载一个包含服务器返回内容的新页面;在这种情况下,没有应用布局的信息页。您需要在ajax调用之前添加event.preventDefault()以停止此行为
然而,正如@arogachev所说的,如果您只是想使用分页而不需要页面刷新,那么只需使用pjax。这就是pjax的设计目的,如果没有看到实际的代码,就无法提供帮助。更新后,请再次查看~mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash\mdash?为什么不简单地使用内置的
Pjax
来实现这些目的呢?不仅仅是我不想重新加载。我正在考虑如何用gridview刷新绑定linkpager页面图灵事件(如何配置linkpager类)?