yii datepicker小部件嵌入fancybox中的iframe中

yii datepicker小部件嵌入fancybox中的iframe中,iframe,yii,fancybox,jquery-ui-datepicker,Iframe,Yii,Fancybox,Jquery Ui Datepicker,嗨,我是JS的新手,正在尝试以下方法: 我有一个Yii应用程序,其中有一个ajaxLink可以触发fancybox。此链接在fancybox内的iframe中渲染视图。呈现视图是一个包含Yii zii.widgets.jui.CDatePicker小部件的表单。这将呈现视图并显示具有正确日期值的日期文本字段。但一旦点击,它就不会显示在日历上 触发fancybox的代码: echo CHtml::ajaxLink('Add Entry',Yii::app()->createUrl('site

嗨,我是JS的新手,正在尝试以下方法:

我有一个Yii应用程序,其中有一个ajaxLink可以触发fancybox。此链接在fancybox内的iframe中渲染视图。呈现视图是一个包含Yii zii.widgets.jui.CDatePicker小部件的表单。这将呈现视图并显示具有正确日期值的日期文本字段。但一旦点击,它就不会显示在日历上

触发fancybox的代码:

echo CHtml::ajaxLink('Add Entry',Yii::app()->createUrl('site/myentry', array('action'=>'new')),
 array('type'=>'GET', 'update'=>'#adexp', 'complete'=>'afterAjax'));
js功能:

function afterAjax()
{
$.fancybox({
    href : '#adexp',
    scrolling : 'no',
    transitionIn : 'fade',
    transitionOut : 'fade', 
width: 1024, 
height: 500,
autoDimensions: false,        
    onClosed: function() { $('#adexp').html(''); location.reload();},
});
}
呈现窗体的iframe:

<iframe src="<?php echo $this->createUrl('site/entryform', array('UtcRecord'=>$model->UtcRecord, 'UserId'=>$model->UserId, 'action'=>$action));?>"  style="width: 100%; height:440px;" id="entryform"></iframe>
萤火虫观察: 表单中的输入字段没有Datepicker类。如果我在普通页面中使用相同的Yii小部件代码,则该类将出现在输入标记中,小部件工作正常

我试过: 1.将datepicker小部件的z索引增加到5000。 2.在iframe head标记中手动包含jquery和css,因为我认为iframe可能不会选择样式和js

这可能是iframe中的Yii小部件呈现问题吗


非常感谢您对这个问题的任何见解。:-)

将您的
renderPartial()
更改为

$this->renderPartial('path.to.view',$variables_into_view,false,true);

最后一个参数是
$processOutput
,它调用将所需的客户端脚本(在您的例子中是
datePicker
js和css)插入到输出中。

您是否在控制器中使用
renderPartial()
为fancyBox输出html?是的,我使用renderPartial()在site/myentry中,然后触发fancybox。
$this->renderPartial('path.to.view',$variables_into_view,false,true);