2012-02-10 2 views
0

Я использую виджет CListView (схема yii), как это.javascript функция не woking после запроса ajax в CListView

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

У меня есть несколько кнопки в «_view» и process.js файл, в котором я прилагаю событие щелчка с кнопками, как это.

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

    }); 

Они работают отлично на начальном экране страницы, но после того, как Ajax обновления (CListView пагинацией для просмотра следующей страницы), ни одна кнопка не реагирует. Что вызывает проблему. Должен ли я снова включать файлы js в обновление.

EDIT:


на() событие решило проблему :) Его работает. Reference

+0

где находится ваш процесс .js? я имею в виду, как вы включили его в представление и в каком файле? –

+0

Я включил process.js в основной файл (общий файл в приложениях yii). – Terminal

+1

Это решило проблему http://stackoverflow.com/questions/2892244/get-javascript-woking-in-a-reloaded-ajax-box – Terminal

ответ

0

проверить код JS некоторые «)» и «}» отсутствует использование огня ошибка, чтобы избежать этих рода Probs ...

+0

Я подтвердил ошибку синтаксиса в Chrome (средства разработки). Верно. В дальнейшем он работает нормально. – Terminal

0

вы должны попробовать это

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

    }); 
+0

Я уже упоминал об этом в комментариях. В любом случае делегат() является предпочтительным методом. – Terminal

Смежные вопросы