easyui tree打开新节点清除缓存问题
来源:互联网 发布:java程序员做什么 编辑:程序博客网 时间:2024/05/17 08:15
近期在写项目权限时需要用到easyui的tree控件做一个部门树,权限查看的时候需要看到有关选中的部门,也就是说添加完权限的时候需要查看哪些部门被选中,直白的就是部门树前面checkbox处于被选中状态。但是出现了这样一个问题,当打开权限界面查看任一菜单权限的时候是对的,打开第二个菜单的时候,第二个菜单的权限会连同上个菜单的权限一并被选中,我debug跟踪过,每次触发方法的时候都是传的当前的菜单id,去数据库表中查的,经过在js里调试几次,才知道这是由于tree里的缓存没清除。查查easyui的api,tree没有清除缓存的方法,于是我再网上查了些资料,说道ajax的cache:false时可以清除缓存,但我加上在这里无用。查了半天耽误了不少时间,也没有进展。于是自己查看下tree的其他方法在底层是怎么实现的,着手在底层写一个clear方法。在jquery.easyui.min.js里找到tree方法这就是实现tree的方法。具体如下:
在里面添加clear函数,红色框内即为实现清除tree缓存的js,代码如下:
clear:function(jq){
return jq.each(function(oj){
var tree=$.data(this,"tree").tree;
tree.find("div.tree-node-selected").removeClass("tree-node-selected");
var cc=tree.tree("getChecked");
for(var i=0;i<cc.length;i++){
tree.tree("uncheck",cc[i].target);
}
});可直接拷贝,无需改动。前台js代码如下:
$('#treeid').tree("clear");
示例图:查看系统管理权限的时候,点击部门权限,弹出一个部门树,有两个部门被选中:
在查看组织结构权限的时候权限是条件保障室,党委办公室但会把上次菜单查看的权限一并带上:
- easyui tree打开新节点清除缓存问题
- easyui tree 默认打开所有节点
- easyui-tree.动态展开节点
- easyUI 附加tree节点到tree
- ajax清除缓存问题
- 清除Iframe缓存问题
- Jquery easyui datagrid清除缓存使用技巧
- easyui dialog“缓存问题”
- easyui tree为什么不能选中子节点
- easyUI tree点击文字展开节点
- EasyUI tree扩展获取实心节点
- easyui tree 判断是否是叶子节点
- EasyUI tree扩展获取实心节点
- EasyUI tree扩展获取实心节点
- easyUI tree点击文字展开节点
- easyui的tree节点的拖拽
- easyUI tree点击文字展开节点
- EasyUI tree子节点的遍历
- Linux netstat命令详解
- android---------SurfaceTexture----------通过SurfaceTexture来对预览的图像进行处理
- 选择合适的图表类型:长条图与柱状图
- Android 命名规范 (提高代码可以读性)
- android屏幕适配问题
- easyui tree打开新节点清除缓存问题
- find命令
- 【畅言】不把C作为第一门语言是个好主意么?-----转自 http://www.csdn.net/article/2014-07-01/2820467
- U872-结算成本处理步骤及索引处理
- 云计算里的安全:警惕云服务被恶意利用
- MongoDB数据库插入、更新和删除操作详解
- 实用简约的JAVA注释标签-高手必备
- CppCMS渲染content中内容到页面上
- 无需App Store,无线发布iOS应用(OTA)