我正在处理YII项目,我想在点击链接时使用弹出框在弹出窗口中呈现一个html表单视图。如何做到这一点?我试过把盒子加长,但不起作用。。KIndly重定向我如何实现。。。
Yii::app()->getClientScript()->registerCssFile(Yii::app()->theme->baseUrl . '/css/jquery.fancybox-1.3.4.css');
Yii::app()->getClientScript()->registerScriptFile(Yii::app()->theme->baseUrl . "/js/jquery.fancybox-1.3.4.pack.js", CClientScript::POS_HEAD);
包括你想要的操作中的文件和你想要的控制器
我喜欢把代码和css直接放在我的主题文件夹中。
然后,使用$(document).ready(function(){$('.myfancyboxlinks').fancybox(););
构建自己的js
链接应该看起来像<a class="myfancyboxlinks" href="/ajax/fancybox">Open Fancybox!</a>
我还喜欢有一个AjaxController.php,它的方法如下:
public function actionFancybox()
{
if(Yii::app()->request->isAjaxRequest)
{
//do stuff here
// ............
$this->layout = '//path/to/fancybox/layout';
$this->render("myfancyboxview");
}
}
然后,您可以在/views/ajax/myfancyboxview 中执行任何您想要的操作
试试这个:
放入
<a href="link to your partially rendered page" id="fancybox-trigger">something</a>
在您看来,在需要的地方。
在其他地方(应该是相同的视图):
$config = array(
'scrolling' => 'no',
'titleShow' => false,
'overlayColor' => '#000',
'padding' => '0',
'showCloseButton' => false,
'onClosed'=>'',
// change this as you need
);
$this->widget('application.extensions.fancybox.EFancyBox', array('target'=>'#fancybox-trigger', 'config'=>$config));