Yii框架zii.widgets.grid自定义按钮,ajax触发事件并提示
?
我们在用表格展示数据并管理的时候,可能会需要用到按钮来操作某一行数据,比如查看,修改,删除!
Yii内置了3种按钮:查看,修改和删除,你可以自定义样式、事件。详细配置见类参考:CButtonColumn.
如果需要自定义按钮绑定指定的事件该怎么办呢?
幸运的是Yii提供了自定义按钮的办法.看代码:
在视图文件里面:
?
$csrfTokenName = Yii::app()->request->csrfTokenName; $csrfToken = Yii::app()->request->csrfToken; $csrf = "\n\t\tdata:{ '$csrfTokenName':'$csrfToken' },"; $Confirmation= "你确定要这么做?"; $afterDelete = 'function(link,success,data){ if(success) alert(data); }'; $click=<<<EOD function() { if(!confirm("$Confirmation")) return false;; var th=this; var afterDelete=$afterDelete; $.fn.yiiGridView.update('build-oneprice-grid', { type:'POST', url:$(this).attr('href'),$csrf success:function(data) { $.fn.yiiGridView.update('build-oneprice-grid'); afterDelete(th,true,data); }, error:function(XHR) { return afterDelete(th,false,XHR); } }); return false; }EOD;?csrf不用管他,是安全验证,必须要有,否则会400报错.$click是js函数的字符窜,用了文档字符窜形式,注意结束的EOD前面必须没空格,也不能缩进。
?
这是Yii内置的yiiGridView Jquery插件,把请求提交到控制器的动作里面处理,然后返回结果并显示。最后还会更新一次gridview.
From:http://www.cnblogs.com/wuyunhua/archive/2011/12/25/2300900.html
?