Yii,jQuery:我可以在其他脚本之前加载由ajaxLink()生成的jQuery代码吗?

时间:2014-03-14 14:05:03

标签: jquery yii jquery-trigger

我手动在Yii中制作标签内容,因此内容将从AJAX加载数据。我使用ajaxLink()并且工作正常。选定的选项卡ID存储在会话中,因此当我重新加载页面时,将再次选择相同的选项卡。问题是,只有当我按下标签(链接)而不是自动加载时才会加载内容。所以我发现我可以使用jQuery.trigger()函数来模拟页面加载的点击。但它不起作用,可能是因为Yii生成脚本并将其放在页面的末尾,因此.trigger("click")函数不做任何事情 - 它无法访问AJAX代码,因为它还没有生成。

有没有办法解决这个问题?我知道这是一个糟糕的解决方案,但我必须这样做。

1 个答案:

答案 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参数。感谢他,此功能在链接添加更新事件后执行。

相关问题