getNodesByParamFuzzy模糊匹配的问题
ztree吧
全部回复
仅看楼主
level 9
hemingsheng 楼主
此为节点:
[{ "id": "SysRoot", "name": "根节点", "open": true, "t": "双击选择", "iconSkin": "pIcon01", "DbClick": "N" }, { "id": "08CD8270F16F20A7482579E3002EC0F5", "open": false, "pId": "SysRoot", "name": "测试三", "t": "双击选择", "permiss": "000;001;010;011;100;101;110;111", "DbClick": "N" }, { "id": "8242E2EFD99D8BF3482579E600312234", "open": true, "pId": "08CD8270F16F20A7482579E3002EC0F5", "name": "测试二", "t": "双击选择", "permiss": "000;001;010;011;100;101;110;111", "DbClick": "Y" }, { "id": "B91CDDA31874D1D1482579E600341CE9", "open": true, "pId": "08CD8270F16F20A7482579E3002EC0F5", "name": "测试一", "t": "双击选择", "permiss": "000;001;010;011;100;101;110;111", "DbClick": "Y" }]
但是用getNodesByParamFuzzy模糊匹配节点中的自定义属性permiss时出现重复匹配的现象,是什么原因呢?
2012年04月20日 10点04分 1
level 11
不明白你如何使用的,请给出具体案例
2012年04月23日 04点04分 2
level 9
hemingsheng 楼主
树nodes:
var zNodes = [{id: "SysRoot", name:"根节点", open:true, t:"双击选择", iconSkin:"pIcon01", DbClick:"N"},{id: "08CD8270F16F20A7482579E3002EC0F5", open:false, pId: "SysRoot", name:"流程效率分析", t:"双击选择", permiss:"000;001;010;011;100;101;110;111", DbClick:"N"},{id: "1C6004594728E438482579EA003A8AB6", open:false, pId: "B91CDDA31874D1D1482579E600341CE9", name:"收文处理(上行)", t:"双击选择", permiss:"100;101;110;111", DbClick:"N"},{id: "69C144BD9A2C76EC482579EA003B9AA5", open:false, pId: "1C6004594728E438482579EA003A8AB6", name:"按业务类型", t:"双击选择", permiss:"010;011;110;111", DbClick:"Y"},{id: "8242E2EFD99D8BF3482579E600312234", open:true, pId: "08CD8270F16F20A7482579E3002EC0F5", name:"控股审批效率", t:"双击选择", permiss:"000;001;010;011;100;101;110;111", DbClick:"Y"},{id: "B91CDDA31874D1D1482579E600341CE9", open:true, pId: "08CD8270F16F20A7482579E3002EC0F5", name:"区域审批效率", t:"双击选择", permiss:"000;001;010;011;100;101;110;111", DbClick:"Y"},{id: "C12ACEC2E6D9192A482579EA003A4B8D", open:false, pId: "8242E2EFD99D8BF3482579E600312234", name:"发文处理", t:"双击选择", permiss:"100;101;110;111", DbClick:"N"},{id: "FB5FE422C119E6EC482579EA003975C3", open:false, pId: "C12ACEC2E6D9192A482579EA003A4B8D", name:"按主板单位", t:"双击选择", permiss:"100;101;110;111", DbClick:"Y"}]
初始化seting:
var setting={data: {key: {title:"t"},simpleData: {enable: true}},view: {dblClickExpand: false},callback: {onDblClick: fGetNodeInfo,onClick: fClickExpand}};
初始化:
$.fn.zTree.init($("#ulTree"), setting, zNodes );
结果:
=================================================================================
模糊匹配时的seting:
var setting={data: {key: {title:"t"},simpleData: {enable: true}},view: {dblClickExpand: false},callback: {onDblClick: fOpenSearchForm,onClick: fClickExpand}};
模糊匹配:
var treeObj = $.fn.zTree.getZTreeObj(zTreeID);
var strPermiss=$("#PermMark").val(); //此处值为101或000
var nodes=treeObj.getNodesByParamFuzzy("permiss",strPermiss);
$.fn.zTree.init($("#ulTree"), setting, nodes);
=================================================================================
结果:

2012年04月24日 11点04分 3
level 9
hemingsheng 楼主
忘了说zTree是V3.1
我搜了很多资料 有说clone的 有说把children去掉的 有说把seting改变的 都不行……
求大神指点~
2012年04月24日 11点04分 4
level 11
不可能不行。步骤如下:
1、把 nodes 进行clone,如果是自己编写 clone 方法,那么可以在 clone 的时候就过滤掉 children 属性;
2、如果是标准的 clone,那么复制对象后,利用delete 方法删除 children 属性即可。
3、以上操作后将复制的 nodes 用于init 即可
2012年04月25日 01点04分 5
level 9
hemingsheng 楼主
V3.1 如何clone呢?求指点,在API文档中没有找到相关的clone……
谢谢~
2012年04月25日 02点04分 6
level 11
简单的标准 clone 利用 jQuery的 clone 方法即可
如果想自己制作 clone 可以在 core 的js 中看到 zTree 内部的 clone 方法
2012年04月25日 03点04分 7
level 9
hemingsheng 楼主
还是不行,不过我已经用别的方式实现了。感谢大神指点。
2012年04月26日 05点04分 8
请问你是用什么方法实现的呢?我遇到了这个问题,还没解决掉,求教,我的QQ771870894,先谢谢了
2013年03月28日 04点03分
擦 怎么解决的 说说不可以么
2015年06月10日 00点06分
level 11
条条大路通罗马。。。
2012年04月26日 08点04分 9
1