Yii弹出窗口组件CJuiDialog
2012-12-04 13:45
525 查看
CJuiDialog组件在手册zii.widgets.jui下
在视图下使用以下代码
Yii中的对话框(CJuiDialog)如果不是自动打开的,会先显示后隐藏,不是很流畅,如何解决?
解决方法是修改lib\zii\widgets\jui\CJuiDialog.php,如果对话框不是自动打开的,默认加上display: none这个style:
在代码
后增加修改以下代码
在视图下使用以下代码
$this->beginWidget('zii.widgets.jui.CJuiDialog', array( 'id'=>'mydialog',//弹窗ID // additional javascript options for the dialog plugin 'options'=>array(//传递给JUI插件的参数 'title'=>'弹窗标题', 'autoOpen'=>false,//是否自动打开 'width'=>'auto',//宽度 'height'=>'auto',//高度 'buttons'=>array( '关闭'=>'js:function(){ $(this).dialog("close");}',//关闭按钮 ), ), )); echo 'dialog content here'; $this->endWidget('zii.widgets.jui.CJuiDialog'); // 这是弹窗链接, echo CHtml::link('open dialog', '#', array( 'onclick'=>'$("#mydialog").dialog("open"); return false;',//点击打开弹窗 ));
属性 | 类型 | 描述 | 定义在 |
---|---|---|---|
actionPrefix | string | actions的ID的前缀。当微件在CController::actions中声明了动作提供者,可以为其动作的ID指定前缀以区别于别的微件或控制器。当微件用于控制器的视图中时,必须配置同样的前缀。 | CWidget |
controller | CController | 返回此微件所属的控制器。 | CWidget |
cssFile | mixed | 主题的CSS文件名。默认是‘jquery-ui. | CJuiWidget |
htmlOptions | array | JUI组件中HTML标签的属性设置。 | CJuiWidget |
id | string | 返回此微件的ID。如果需要的话,将生产一个新的ID并将其返回。 | CWidget |
options | array | the 初始的JavaScript需要传递给JUI插件的选项。 | CJuiWidget |
owner | CBaseController | 返回此微件的所有者或创建者。 | CWidget |
scriptFile | mixed | 主要JUI的JavaScript的文件名。默认是‘jquery-ui. | CJuiWidget |
scriptUrl | string | 包含所有JUI JavaScript文件的根目录。如果没有设置这个属性(默认),Yii will publish the JUI package included in the zii release and usethat to infer the root script URL. | CJuiWidget |
skin | mixed | 微件使用的皮肤的名称。默认为“default”。如果此属性设置为false,微件将不会有皮肤被使用。 | CWidget |
theme | string | JUI主题的名字。默认是‘base’。确保在themeUrl下有这样一个目录,其名称是这个属性的值相同(区分大小写)。 | CJuiWidget |
themeUrl | string | 包含所有JUI的主题文件夹的根目录。如果没有设置这个属性(默认), Yii will publish the JUI package included in the zii release and usethat to infer the root theme URL. | CJuiWidget |
viewPath | string | 返回包含此微件所需的视图文件的路径。 | CWidget |
解决方法是修改lib\zii\widgets\jui\CJuiDialog.php,如果对话框不是自动打开的,默认加上display: none这个style:
在代码
public function init() { parent::init(); $id=$this->getId(); if (isset($this->htmlOptions['id'])) $id = $this->htmlOptions['id']; else $this->htmlOptions['id']=$id;
后增加修改以下代码
// 如果不是自动打开,则加上默认不显示style if (!empty($this->options) && isset($this->options['autoOpen']) && ($this->options['autoOpen'] == false)) { if (isset($this->htmlOptions['style'])) { $this->htmlOptions['style'] .= '; display: none'; } else { $this->htmlOptions['style'] = 'display: none'; } }
相关文章推荐
- Yii框架弹出窗口组件CJuiDialog用法分析
- Yii弹出窗口组件CJuiDialog
- Yii弹出窗口组件CJuiDialog
- yii_wiki_204_using-cjuidialog-to-edit-rows-in-a-cgridview(通过CJuiDialog在CGridView中修改行数据)
- jquery ui dialog|popup 弹出窗口层
- jquery ui dialog|popup 弹出窗口层
- yii_wiki_145_yii-cjuidialog-for-create-new-model (通过CJuiDialog来创建新的Model)
- YII的拖动组件CJuiDraggable 和CJuiDroppable 的用法
- yii_wiki_216_update-delete-model-with-cjuidialog-works-in-cgridview(通过CJuiDialog在CGridView中CRUD)
- yii_wiki_145_yii-cjuidialog-for-create-new-model (通过CJuiDialog来创建新的Model)
- yii 1.1.*中按钮组件CJuiButton的使用
- 弹出窗口—jQuery UI Dialog和artDialog
- Swing中Frame窗口显示dialog窗口再弹出对话框,背景为白色不显示组件解决办法
- YII CJuiDialog 中运行ajax CGridView
- Yii CJuiDialog显示一个对话框部件
- yii_wiki_204_using-cjuidialog-to-edit-rows-in-a-cgridview(通过CJuiDialog在CGridView中修改行数据)
- 弹出窗口window.showModelessDialog的参数
- sharepoint 2010 默认弹出模式窗口最大化default showModalDialog maximize
- 弹出dialog 窗口; 以及在dialog 中关闭并且刷新父窗体的方法
- android dialog 获得edittext的值 避免一些弹出窗口的错误