列表页条目不刷新删除

简介: 2014年1月6日 12:51:15 情景: 发现博客园的后台管理中,在某个列表页里删除某个列表项的时候,用ajax删除,本页不刷新,只是高亮显示那个已删除的项,不再来回跳转并刷新页面了 感觉这样减轻了程序的编码量和复杂度,而且,让管理员很明了,减少了管理员等待页面刷新的时间,就用到了项目中(之前有段时间发现百度音乐的列表页也是类似的效果) 注意: 1.

2014年1月6日 12:51:15

情景:

发现博客园的后台管理中,在某个列表页里删除某个列表项的时候,用ajax删除,本页不刷新,只是高亮显示那个已删除的项,不再来回跳转并刷新页面了

感觉这样减轻了程序的编码量和复杂度,而且,让管理员很明了,减少了管理员等待页面刷新的时间,就用到了项目中(之前有段时间发现百度音乐的列表页也是类似的效果)

注意:

1.需要jquery,在用ajax删除记录的地方用到了,其它的都是原生js

2.由于原生js的confirm框因为样式等原因被重写了,返回值不是true/false,因此这里用一个div来代替confirm确认框

 

 1     <div>
 2         <table>
 3             <tr>
 4                 <th>标题</th>
 5                 <th>操作</th>
 6                 <th></th>
 7             </tr>
 8             <{foreach from=$listNews item=news}>
 9                 <tr id="item_<{$news.id}>">
10                     <td><{$news.title}></td>
11                     <td id="item_op_<{$news.id}>">
12                         <a href="javascript:;" onclick="del(<{$news.id}>);">删除</a>
13                     </td>
14                     <td>
15                         <span id="del_confirm_<{$news.id}>" style="display:none">
16                             <a href="javascript:;" onclick="delConfirm('<{$controllerUrl}>/ajaxdelnews', <{$news.id}>, <{$aid}>)">确定删除</a>
17                             <a href="javascript:;" onclick="delCancle(<{$news.id}>)">取消删除</a>
18                         </span>
19                     </td>
20                 </tr>
21             <{/foreach}>
22         </table>
23         注:默认按照添加时间倒排,删除的条目在刷新后从列表中消失,不再频繁刷新网页
24     </div>
25 <script type="text/javascript">
26     function del(itemid)
27     {
28         var spanDelConfirm = document.getElementById('del_confirm_'+itemid);
29         spanDelConfirm.style.display='block';
30         spanDelConfirm.style.background='#FFAA00';
31     }
32     
33     function delConfirm(url, itemid, areaid)
34     {
35         var jsonNewsInfo = {id:itemid,aid:areaid};
36         var flag = $.post(url, jsonNewsInfo);
37         flag.done(
38             function (data) {
39                 if (data == 'true') {
40                     document.getElementById('item_op_'+itemid).innerHTML='已删除';
41                     document.getElementById('del_confirm_'+itemid).innerHTML='';
42                     document.getElementById('item_'+itemid).style.background='#FFAA00';
43                 };
44             }
45             );
46     }
47 
48     function delCancle(itemid)
49     {
50         document.getElementById('del_confirm_'+itemid).style.display='none';
51     }
52 </script>

 删除前

删除确认

删除后

目录
相关文章
|
10月前
|
文字识别 数据可视化 Serverless
阿里云多模态数据信息提取解决方案评测报告
本文基于阿里云多模态数据信息提取解决方案,对其进行全面评测。该方案利用百炼大模型等技术,支持文本、图像、音频和视频处理,显著提升效率并降低成本。体验中,文本和图片信息提取功能表现出色,部署便捷且准确率高。优势包括易用性、多模态支持和高性价比,但文档完善性和模型定制性等方面仍有提升空间。建议增强模型可定制性、跨模态融合能力及丰富文档案例,以进一步优化用户体验。
332 6
|
关系型数据库 Go 数据库
【Go语言专栏】Go语言中的数据库迁移与版本控制
【4月更文挑战第30天】本文介绍了Go语言中的数据库迁移和版本控制。针对数据库迁移,文章提到了使用Flyway和Liquibase两个工具。通过示例展示了如何在Go中集成这两个工具进行数据库结构的修改,以适应业务变化。而对于版本控制,文章以Git为例,说明了如何利用Git进行源代码和配置文件的管理,确保代码一致性与可追溯性。
523 0
|
12月前
|
算法 C++
Leetcode第53题(最大子数组和)
这篇文章介绍了LeetCode第53题“最大子数组和”的动态规划解法,提供了详细的状态转移方程和C++代码实现,并讨论了其他算法如贪心、分治、改进动态规划和分块累计法。
183 0
|
人工智能 Ubuntu 机器人
【ubuntu】手把手教你解决ubuntu报错openssh-server E: Sub-process /usr/bin/dpkg returned an error code (1)
【ubuntu】手把手教你解决ubuntu报错openssh-server E: Sub-process /usr/bin/dpkg returned an error code (1)
|
语音技术 iOS开发 MacOS
Mac上的全局翻译利器 : Bob + PopClip
Mac上的全局翻译利器 : Bob + PopClip
1078 0
广播风暴的分析和解决方法(STP配置)
广播风暴的分析和解决方法(STP配置)
208 0
|
JSON 自然语言处理 数据挖掘
苹果12不如十三香?背后真相让100000网友点了赞!
苹果12不如十三香?背后真相让100000网友点了赞!
89 1
苹果12不如十三香?背后真相让100000网友点了赞!
|
存储 缓存 ARouter
Android开源系列-组件化框架Arouter-(二)深度原理解析
最近组里需要进行**组件化框架**的改造,用到了**ARouter**这个开源框架,为了更好的对项目进行改造,笔者花了一些时间去了解了下ARouter
|
网络协议 Linux
Linux C TCP服务器端-select案例
本文主要介绍了linux下Select的TCP通信流程,实现了客户端和服务器的通信,主要实现了消息的回发,即服务器将消息原封不动的回发给客户端。
201 0
|
消息中间件 存储 缓存
kafka权威指南 第二章第6节 Kafka集群配置与调优
kafka权威指南 第二章第6节 Kafka集群配置与调优
443 0
kafka权威指南 第二章第6节 Kafka集群配置与调优