在yii gridview中通过ajax更新更改

时间:2015-03-26 14:58:20

标签: javascript php ajax yii cgridview

我的数据库中有一个简单的表tbl_task,其中包含以下属性:

  • id int auto_increment
  • description varchar
  • 完成布尔

现在我创建了一个gridview。完整属性的值由复选框显示。应该有可能更改完整属性的值。如果这样做,它应该保存数据库中的更改。同时,gridview每3秒获取一次数据库中的最新记录。

我已尝试调整gridview js文件,但它无法正常工作。

有谁知道如何解决我的问题?

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

这不应该很难实现。

1)为了每3秒更新一次网格,使用javascript setInterval并调用网格的更新方法:

jQuery('#grid_id_here').yiiGridView('update');

2)在完整列中,将其设置为"type" => "raw",然后将"value"设置为"<input type='checkbox' onclick='mark_complete('.$data->id.')'>"

3)定义完成任务的javascript函数

function mark_complete(id) {
// 1. make here a ajax call that updates the task's complete field
// 2. on the success of that ajax call place again the update command to update the grid
}