Я связываю динамические ссылки на иконки из CGridView (класс icon-link
, ) с простым jQuery on
сценарий; демо Вот. Автор сценария:
<div id="info-popup"></div>
<?php $ajaxUrl = $this->createUrl('itemInfo');
Yii::app()->clientScript->registerScript('info-popup-script', "jQuery('.info-link').on('click', function(){ jQuery.ajax({'data':{id: this.id
},'url':'{$ajaxUrl}','cache':false,'success':function(html){jQuery('#info-popup').html(html)}});return false;});
", CClientScript::POS_END);
Это хорошо работает для 1-й страницы, но после перехода на другие страницы (2,3 …) функциональность не работает, хотя там присутствует код js:
<script type="text/javascript">
jQuery('.info-link').on('click', function(){ jQuery.ajax({'data':{id: this.id },'url':'/app3/assortment/itemInfo','cache':false,'success':function(html){jQuery('#info-popup').html(html)}});return false;});
...
</script>
В часности нет вызова AJAX. В чем дело?
Попробуйте связать его по родительскому элементу или элементу документа, например,
Yii::app()->clientScript->registerScript('info-popup-script', "jQuery(document).on('click','.info-link', function(){.....
.....
", CClientScript::POS_END);
Других решений пока нет …