Php Yii ajaxLink()只工作一次

Php Yii ajaxLink()只工作一次,php,ajax,listview,yii,Php,Ajax,Listview,Yii,我有一个CListView,它在\u视图文件中使用ajaxLink() 视图(index.php) 您的删除链接是刷新的项目列表的一部分吗?如果是这种情况,则在创建新链接时,脚本不会重新注册到新链接 两种选择: 1) 确保您的链接没有被刷新,并且是页面的一个永久方面 2) 编写自定义jQuery处理程序,而不是使用Yii的ajaxLink。您需要使用和委派事件。某种形式: $("#parentContainer").on("click", ".deleteLinkClass', updateIt

我有一个
CListView
,它在
\u视图
文件中使用
ajaxLink()

视图(index.php)


您的删除链接是刷新的项目列表的一部分吗?如果是这种情况,则在创建新链接时,脚本不会重新注册到新链接

两种选择:

1) 确保您的链接没有被刷新,并且是页面的一个永久方面

2) 编写自定义jQuery处理程序,而不是使用Yii的ajaxLink。您需要使用和委派事件。某种形式:

$("#parentContainer").on("click", ".deleteLinkClass', updateItemList)

其中,
parentContainer
是页面上的永久项目,
deleteLinkClass
将是您需要分配给正在使用的删除链接的类。

呃,一个愚蠢的修复。我意识到我不小心在我的控制器中留下了一个
CHtml::$liveEvents=false
,我在故障排除阶段的早些时候把它放在了那里


解决方案是只保留
CHtml::$liveEvents=true
(默认值),并确保所有链接都有唯一的ID。

这是一个好建议,编写自定义处理程序会很有效。幸运的是,我修复了代码中的一个愚蠢错误。不管怎样,我还是选了你。
<?php echo CHtml::ajaxLink('Delete',array('libdbitems/delete','id'=>$data->id),
                array('type'=>'POST','success'=>'function(){updateItemList()}'),
                array('confirm'=>'Are you sure you want to delete this item?',
                    'id'=>'delete-'.$data->id));  ?>
$("#parentContainer").on("click", ".deleteLinkClass', updateItemList)