我有一个页面,一页有四个网格视图。当我点击任何分页页面按钮(例如:1,2,3,4,5,6)它带我到那个页面没有任何问题[通过ajax]。并用旧的HTML替换新的HTML。但现在当我点击分页按钮时,它只是重定向到网址。它不会通过ajax加载。整个页面都刷新了。
单击一个页面按钮时可以正常工作。如果我通过控制台初始化。就像当我把它放入控制台然后按回车键然后它将适用于下一页调用。而且我必须通过控制台进行初始化,以使其适用于下一页按钮按下。
$('#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'});
我尝试在ajax加载的copntent中添加脚本,但它没有用。事件警报已被取消。
<script type='application/javascript'>
alert("This is also not getting executed. When it comes from ajax content.")
</script>
我知道可能会删除除gridview div之外的所有内容。但同样的事情也适用于其他项目。
答案 0 :(得分:0)
我使用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>