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)