我使用 afterAjaxUpdate 参数做到了这一点。
'afterAjaxUpdate'=>"function(id, data){
var newHtml = $('<div></div>');
newHtml.append(data);
var scriptExecute = newHtml.find('#scriptExecute');
$('body').append(scriptExecute);
}",
所以现在我的脚本正在执行,因为我将它附加到正文。这是我附加到正文的脚本,因为我只能这样做它不是正确的方法,但它有效..
<?php
$true = Yii::app()->request->isAjaxRequest;
if($true)
{
?>
<script type="application/javascript" id="scriptExecute" >
//alert("Execute this");
jQuery('#share-grid').yiiGridView({'ajaxUpdate':['share-grid'],'ajaxVar':'ajax','pagerClass':'pager','loadingClass':'grid-view-loading','filterClass':'filters','tableClass':'table table-responsive','selectableRows':1,'pageVar':'CardShare_page','afterAjaxUpdate':function(id, data){
var newHtml = $('<div></div>');
newHtml.append(data);
var scriptExecute = newHtml.find('#scriptExecute');
$('body').append(scriptExecute);
}});
jQuery('#rate-grid').yiiGridView({'ajaxUpdate':['rate-grid'],'ajaxVar':'ajax','pagerClass':'pager','loadingClass':'grid-view-loading','filterClass':'filters','tableClass':'table table-responsive','selectableRows':1,'pageVar':'RatingLike_page','afterAjaxUpdate':function(id, data){
var newHtml = $('<div></div>');
newHtml.append(data);
var scriptExecute = newHtml.find('#scriptExecute');
$('body').append(scriptExecute);
}});
jQuery('#saved-card-grid').yiiGridView({'ajaxUpdate':['saved-card-grid'],'ajaxVar':'ajax','pagerClass':'pager','loadingClass':'grid-view-loading','filterClass':'filters','tableClass':'table table-responsive','selectableRows':1,'pageVar':'SavedCard_page','afterAjaxUpdate':function(id, data){
var newHtml = $('<div></div>');
newHtml.append(data);
var scriptExecute = newHtml.find('#scriptExecute');
$('body').append(scriptExecute);
}});
jQuery('#answer-grid').yiiGridView({'ajaxUpdate':['answer-grid'],'ajaxVar':'ajax','pagerClass':'pager','loadingClass':'grid-view-loading','filterClass':'filters','tableClass':'table table-responsive','selectableRows':1,'pageVar':'saved_card_id_page','afterAjaxUpdate':function(id, data){
var newHtml = $('<div></div>');
newHtml.append(data);
var scriptExecute = newHtml.find('#scriptExecute');
$('body').append(scriptExecute);
}});
</script>