Php 仅在yii2中重新加载gridview

Php 仅在yii2中重新加载gridview,php,gridview,yii2,pjax,Php,Gridview,Yii2,Pjax,如何在Yii2中的下拉事件中更改时仅重新加载网格视图 我知道可以通过pjax完成,但不确定在哪里以及如何使用代码 我正在使用Ajax请求与控制器通信。以下是ajax代码:- function loadGrid(level) { alert(level); $.ajax({ type: 'GET', url: 'index.php?r=villagedata/level', data: {level:level},

如何在Yii2中的下拉事件中更改时仅重新加载网格视图

我知道可以通过pjax完成,但不确定在哪里以及如何使用代码

我正在使用Ajax请求与控制器通信。以下是ajax代码:-

function loadGrid(level) { 
    alert(level); 
    $.ajax({ 
        type: 'GET', 
        url: 'index.php?r=villagedata/level', 
        data: {level:level}, 
        success: function(data) 
        { 
            alert("Success"); 
            $.pjax({container: '#myview'}); 
        } 
    }); 
} 
Ajax请求返回成功消息时,我不想重新加载网格

谢谢。

没错,使用Pjax

use yii\grid\GridView;
use yii\widgets\Pjax;

<?php Pjax::begin(['id' => 'pjax-grid-view']); ?>    
    <?= GridView::widget([
        'dataProvider' => $dataProvider,
        'columns' => [
            '...'
        ],
    ]); ?>
<?php Pjax::end(); ?>
试一试


嗨,谢谢你的回复。但是,电网并没有重新加载。!是否调用下拉更改事件?是。我正在对控制器进行ajax调用,然后对返回它的模型执行一些查询,然后只重新加载gridview,对吗?您将更新gridview调用$.pjax({container:'#pjax grid view'})函数loadGrid(level){alert(level);$.ajax({type:'GET',url:'index.php?r=villagedata/level',数据:{level:level},成功:函数(数据){alert(“success”);$.pjax({container:'#myview'});}}};}在成功消息之后。我认为这与
location.reload
javascript完全相同。
$('#dropdown').on('change', function(ev) {
     $.pjax({container: '#pjax-grid-view'})
});
$("#idyourgrid").yiiGridView("applyFilter");