CJuiDialog弹出问题

时间:2013-07-02 09:50:55

标签: ajax yii calendar cjuidialog

我想开始,这是一个对AJAX,jquery和那种东西的菜鸟。但我目前正在开展一个项目,我有一个日历,替代品可以指定他是否在某一天和时间段可用。 现在我只是努力解决问题,然后他们点击一天,指定他们可用,我需要一个弹出窗口显示,他们可以指定他们可用的时间。 我在Yii的论坛上找到了几个关于如何做的指南,问题是弹出窗口永远不会打开。

以下是指定链接的代码,但是当我在主页上检查它时,它会显示../offer/calendar#&l; - 一天中的每个链接都链接到日历而不是弹出窗口

            $url = CHtml::ajaxLink(Yii::t('job', 'Ledig'), Yii::app()->createUrl('offer/createOffer'), array(
            'onclick' => '$("#offerDialog").dialog("open"); return false;',
            'update' => '#offerDialog'
                ), array('id' => 'showOfferDialog'));
        /** You can query the database for an entry for this day if you like or print out a message on each day.  Uncomment these two lines.  * */
        $this->calendar.= '<div class="' . $this->style . '-normal">'. $url . '</div><br/>';
        $this->calendar.= str_repeat('<p> </p>', 2);

1 个答案:

答案 0 :(得分:0)

CHtml::ajaxLink方法具有以下签名:ajaxLink(string $text, mixed $url, array $ajaxOptions=array ( ), array $htmlOptions=array ( ))

在这种情况下,您尝试绑定的onclick事件是HtmlOption而不是Ajax选项,因此您需要将其指定为此类。

当您指定onclick事件以显示对话框时,您还需要删除return false;语句,因为这会阻止创建ajaxCall。

所以你的定义应该是这样的:

$url = CHtml::ajaxLink(
            Yii::t('job', 'Ledig'),
            Yii::app()->createUrl('leads/admin'),
            array('update' => '#offerDialog'),
            array('id' => 'showOfferDialog', 'onclick' => '$("#offerDialog").dialog("open");')
        );
//Show Link
echo $url;

$this->beginWidget('zii.widgets.jui.CJuiDialog', array(
    'id'=>'offerDialog',
    // additional javascript options for the dialog plugin
    'options'=>array(
        'title'=>'Dialog box 1',
        'autoOpen'=>false,
    ),
));

echo 'dialog content here';

$this->endWidget('zii.widgets.jui.CJuiDialog');