如何在juidialog中设置回调函数


how set callback function in CJuiDialog yii

我需要通过ajax显示表单后,当对话框窗口打开。我试过这个

 $this->beginWidget('zii.widgets.jui.CJuiDialog', array(
            'id' => 'register',
            'actionPrefix' => 'register',
            // additional javascript options for the dialog plugin
            'options'      => array(
                'title'    => 'registration',
                'autoOpen' => false,
                'width'    => 800,
                'height'   => 500,
                'buttons'     => array(
                        'showform'=>'js:function(){
                        $.ajax({
                           type: "POST",
                           url : "' .$this->createUrl("/Site/Register"). '"
                        success:function(data){
                                $("#form-test").html(data);
                                }
                        })}' 
                         ),),));  

但它不起作用。如何在CJuiDialog中设置回调函数

Try This ..这是更好的JuiDialog打开时点击登录按钮,如:-

 <?php
  $this->beginWidget('zii.widgets.jui.CJuiDialog', array(
'id' => 'login-dialog',
'options' => array(
    'title' => 'View Location',
    'autoOpen' => false,
    'modal' => true,
    'width' => 'auto',
    'height' => 'auto',
    'resizable' => false,
),
));
$this->endWidget();
echo CHtml::ajaxButton("Login", Yii::app()->createUrl('site/login'), array(
'type' => 'post',
'success' => 'function(r){$("#login-dialog").html(r).dialog("open"); return false;}'
    ), array('class' => 'search_btn'));
?>

如果您仍然想通过CJuiDialog的按钮选项访问它

试一试:

 <?php
$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
    'id' => 'login-dialog',
    'options' => array(
        'title' => 'View Location',
        'autoOpen' => false,
        'modal' => true,
        'width' => 'auto',
        'height' => 'auto',
        'resizable' => false,
        'buttons' => array(
            'showform'=>'js:function(){$.ajax({
                               type: "post",
                               url: "'. Yii::app()->createUrl('site/login') .'",
                               success:function(data){$("#login-dialog").html(data);}    
});}',
            'Cancel'=>'js:function(){$("#login-dialog").dialog("close");}',),
        ),
));

$this->endWidget();

echo CHtml::link("Login", '#', array(
    'onclick'=>'$("#login-dialog").dialog("open"); return false;',
        ), array('class' => 'search_btn'));
?>