2013-07-02 54 views
1

我想從一開始,即時通訊AJAX,jquery和那種東西的noob。但即時通訊正在進行一個項目,在那裏我有一個日曆,替代者可以指定他是否在特定日期和時間段等。 現在我只是努力解決他們點擊一天的問題,以指定他們是可用的,我需要一個彈出窗口來顯示,他們可以在哪裏指定他們可用的時間。 我在Yii的論壇上發現了幾個關於如何做的指南,問題在於彈出窗口永遠不會打開。CJuiDialog彈出問題

這裏是指定的鏈接的代碼,但是當我檢查它的網頁上,它說../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); 

回答

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'); 
+0

感謝您的答覆。我已經試過你說什麼,但結果還是一樣。 該鏈接仍然將我重定向到,../offer/calendar# – CreamYGEEK

+0

如果您仍然被重定向到另一個url,那麼您應該檢查jQuery是否已加載。在我的回答中,如果沒有加載jQuery,或者如果出現javascript錯誤,您總會被重定向,因爲JavaScript代碼阻止生成的鏈接的默認行爲不會被執行。 –

+0

它現在正常工作..只需要重新啓動Netbeans ..非常感謝! – CreamYGEEK