我手动在Yii中制作标签内容,因此内容将从AJAX加载数据。我使用ajaxLink()
并且工作正常。选定的选项卡ID存储在会话中,因此当我重新加载页面时,将再次选择相同的选项卡。问题是,只有当我按下标签(链接)而不是自动加载时才会加载内容。所以我发现我可以使用jQuery.trigger()
函数来模拟页面加载的点击。但它不起作用,可能是因为Yii生成脚本并将其放在页面的末尾,因此.trigger("click")
函数不做任何事情 - 它无法访问AJAX代码,因为它还没有生成。
有没有办法解决这个问题?我知道这是一个糟糕的解决方案,但我必须这样做。
答案 0 :(得分:1)
你赞成添加脚本,在DOM准备就绪后触发了事件:
echo CHtml::ajaxLink(
'linkText',
'url',
array('update'=>'#conteinerId'),
array('class'=>'activeTabLink')
);
Yii::app()->clientScript->registerScript(
'ajaxTabLinkScript',
'$(function(){ $(".activeTab").click()})',
CClientScript::POS_LOAD
);
注意CClientScript::POS_LOAD
参数。感谢他,此功能在链接添加更新事件后执行。