仅在yii2中重新加载gridview

时间:2017-02-01 11:37:13

标签: 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}, 
        success: function(data) 
        { 
            alert("Success"); 
            $.pjax({container: '#myview'}); 
        } 
    }); 
} 

Ajax请求返回成功消息时,我不想重新加载网格。

谢谢。

2 个答案:

答案 0 :(得分:6)

确切地说,使用Pjax。

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

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

和jQuery来检测下拉变化。

如果下拉列表有&#34;下拉&#34; id,

$('#dropdown').on('change', function(ev) {
     $.pjax({container: '#pjax-grid-view'})
});

答案 1 :(得分:1)

尝试

$("#idyourgrid").yiiGridView("applyFilter");