在 yii2 中仅重新加载 gridview
Reload only gridview in yii2
我怎样才能在 Yii2 中的 on change 下拉事件中仅重新加载 grid-view?
我知道可以通过 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 请求 returns 成功消息时重新加载我的网格。
谢谢。
没错,使用 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检测下拉变化。
如果下拉菜单有 "dropdown" 个 ID,
$('#dropdown').on('change', function(ev) {
$.pjax({container: '#pjax-grid-view'})
});
尝试
$("#idyourgrid").yiiGridView("applyFilter");
我怎样才能在 Yii2 中的 on change 下拉事件中仅重新加载 grid-view?
我知道可以通过 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 请求 returns 成功消息时重新加载我的网格。
谢谢。
没错,使用 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检测下拉变化。
如果下拉菜单有 "dropdown" 个 ID,
$('#dropdown').on('change', function(ev) {
$.pjax({container: '#pjax-grid-view'})
});
尝试
$("#idyourgrid").yiiGridView("applyFilter");