CJuiDialog всплывающие проблемы
Я хочу начать с того, что я новичок в AJAX, jquery и тому подобное. Но в настоящее время я работаю над проектом, в котором у меня есть календарь, где заместитель может указать, доступен ли он в данный день, период времени и т. Д. Теперь я просто борюсь с проблемой, когда они нажимают на день, чтобы указать, что они доступны, что мне нужно всплывающее окно, чтобы показать, где они могут указать время, когда они доступны. Я нашел несколько руководств на форуме Yii о том, как это сделать, но проблема в том, что всплывающее окно никогда не открывается.
Вот код с указанной ссылкой, но когда я проверяю его на домашней странице, он говорит../offer/calendar# <- каждая ссылка на день ссылки на календарь, а не всплывающее окно
$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 ответ
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');