我想开始,这是一个对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);
答案 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');