2012-02-10 91 views
0

我正在使用像這樣的CListView小部件(yii框架)。在CListView中的ajax請求後不能開啓javascript函數

<? 
    $this->widget('zii.widgets.CListView', array(
     'dataProvider'=>$dataProvider, 
     'itemView'=>'_view', 
     'template'=>"{items}\n{pager}", 
    )); 
    ?> 

我在「_view」並在那裏我有附加click事件,像這樣按鈕的process.js文件幾個按鈕。

$(document).ready(function(){ 
     $("a#beerButton").click(function(){ 
      alert('clicked'); 
     }); 

    }); 

他們正在努力在初始頁面顯示正常,但AJAX更新後(CListView中分頁查看下一頁),沒有按鈕響應。是什麼導致了這個問題。我必須在更新時再次包含js文件。

編輯:


on()事件的問題解決了:)它現在的工作。 Reference

+0

哪裏是你的過程.js文件?我的意思是你是如何將它包含在視圖和哪個文件中的? – 2012-02-10 11:47:10

+0

我已經在主文件中包含了process.js(yii應用程序中的公共文件)。 – Terminal 2012-02-10 11:57:31

+1

這解決了這個問題http://stackoverflow.com/questions/2892244/get-javascript-woking-in-a-reloaded-ajax-box – Terminal 2012-02-10 11:57:59

回答

0

檢查你的js代碼的一些「)」和「}」缺少用火的錯誤,以避免這些類型的probs的...

+0

我已經確認在Chrome中的語法錯誤(開發工具)。它是正確的。此外,它最初工作正常。 – Terminal 2012-02-10 11:40:35

0

你應該試試這個

$(document).ready(function(){ 
     $("a#beerButton").live('click', function(){ 
      alert('clicked'); 
     }); 

    }); 
+0

我已經在評論中提到過它。無論如何,委託()是首選的方法。 – Terminal 2012-02-15 18:39:08