如何在 AJAX 使用 jQuery 后刷新 Yii 中的网格视图?
How do I refresh grid view in Yii after AJAX using jQuery?
我正在尝试刷新网格,但出现此错误:
TypeError: $.fn.GridView 未定义
这是我的js代码:
$( document ).ready(function() {
$("#username_filter").keyup(function( event ) {
if ($(this).val().length >3){
$.ajax({
url: "/common/main/filterData/",
type: "POST",
data: { username : $(this).val() },
}).done(function() {
$.fn.GridView.update("#yw0");
});
}
});
});
这是视图:
.....
$this->widget('GridView', array(
'dataProvider' => $data,
//'filter' => '',
'itemsCssClass'=>'table',
'pager' => array(
'class' => 'CLinkPager',
'prevPageLabel' => 'Previous',
'nextPageLabel' => 'Next',
'header' => '',
'previousPageCssClass' => 'btn btn-info btn-sm',
'selectedPageCssClass' => 'btn btn-warning btn-sm',
'internalPageCssClass' => 'btn btn-info btn-sm',
'firstPageCssClass' => 'btn btn-info btn-sm',
'nextPageCssClass' => 'btn btn-info btn-sm',
),
....
也许这是一个菜鸟问题,但是网格的id是在哪里生成的?
您可以为 GridView 指定自定义 ID,只需为网格视图选项指定 id 属性
$this->widget('GridView', array(
'id' => 'my_grid_id',
'dataProvider' => $data,
// ...
);
手动更新试试这个
$('#' + id).yiiGridView('update');
应该是
$.fn.yiiGridView.update("yw0");
不是$.fn.GridView
设置gridview的id,只需要为grid view指定id属性即可。
示例:
$this->widget('GridView', array(
'id' => 'custom_id',
.....
));
我正在尝试刷新网格,但出现此错误:
TypeError: $.fn.GridView 未定义
这是我的js代码:
$( document ).ready(function() {
$("#username_filter").keyup(function( event ) {
if ($(this).val().length >3){
$.ajax({
url: "/common/main/filterData/",
type: "POST",
data: { username : $(this).val() },
}).done(function() {
$.fn.GridView.update("#yw0");
});
}
});
});
这是视图:
.....
$this->widget('GridView', array(
'dataProvider' => $data,
//'filter' => '',
'itemsCssClass'=>'table',
'pager' => array(
'class' => 'CLinkPager',
'prevPageLabel' => 'Previous',
'nextPageLabel' => 'Next',
'header' => '',
'previousPageCssClass' => 'btn btn-info btn-sm',
'selectedPageCssClass' => 'btn btn-warning btn-sm',
'internalPageCssClass' => 'btn btn-info btn-sm',
'firstPageCssClass' => 'btn btn-info btn-sm',
'nextPageCssClass' => 'btn btn-info btn-sm',
),
....
也许这是一个菜鸟问题,但是网格的id是在哪里生成的?
您可以为 GridView 指定自定义 ID,只需为网格视图选项指定 id 属性
$this->widget('GridView', array(
'id' => 'my_grid_id',
'dataProvider' => $data,
// ...
);
手动更新试试这个
$('#' + id).yiiGridView('update');
应该是
$.fn.yiiGridView.update("yw0");
不是$.fn.GridView
设置gridview的id,只需要为grid view指定id属性即可。 示例:
$this->widget('GridView', array(
'id' => 'custom_id',
.....
));