YII2 GridView的Pjax 手动触发与不触发

在Yii2中GridView可以使用pjax方式刷新,可以很好的提升用户体验,简化程序开发人员自己ajax刷新表格的工作复杂程度。可是有些时候,我们需要手动的触发表格刷新,或者有些链接我们在点击的时候,不希望触发pjax,这个需要怎么实现呢,接下来我们就讲下在Yii2中如何实现。

首先如果我们有链接不想触发pjax,比如一些操作按钮,直接跳转到其他页面


那么只需要在链接上加上以下标签就可以data-pjax="0"

<a class="btn btn-success" title="添加" data-pjax="0" href="create"><i class="glyphicon glyphicon-plus"></i></a>

上面就是一个添加新项目的按钮,不触发pjax的示例代码。


介绍完不触发,那么我们来介绍下如何手动触发刷新呢?举一个例子就是在全选批量删除的时候,我们需要手动刷新表格

代码也非常的简单,只要在页面的js里面加入以下代码就可以了
$.pjax.reload({container:"#categoryGrid-pjax"});

这里的container是我们设置的gridview的id加上-pjax,gridview的设置如下:

<?= GridView::widget([
        'id' => 'categoryGrid',
        'filterModel' => $searchModel, 
        'dataProvider' => $dataProvider,
        'columns' => $gridColumns ,
    ]); ?>




本文由 Leo's Blog 创作,采用 署名-非商业性使用 2.5 中国大陆 进行许可。
如需转载、引用请署名作者且注明文章出处。
2016年12月27日 1771 浏览 评论 YII2 Pjax
上一篇:Yii2 可编辑列直接修改表格数据 | 下一篇:Threejs ShapeGeometry自定义形状贴图