使用renderPartial方法和render方法的主要区别在于前者没有加载layout,
在renderPartial方法中注册的yiigridview相关js脚本得不到执行,而render方法则无此问题。
通常renderPartial和ajax调用结合来绘制和更新局部界面或展现一个弹出对话框。
那么可以在该局部界面或对话框所在的完整页面中添加相应的脚本,比如checkall功能:
<script type="text/javascript">//this script is a hack for gridview checkall not working with render partial
jQuery(document).on('click','#your_grid_c0_all',function() {
var checked=this.checked;
jQuery("input[name='id\[\]']:enabled").each(function() {this.checked=checked;});
});
jQuery(document).on('click', "input[name='id\[\]']", function() {
jQuery('#your_grid_c0_all').prop('checked', jQuery("input[name='id\[\]']").length==jQuery("input[name='id\[\]']:checked").length);
});
by iefreer