easyui中tree的父節點id獲取
阿新 • • 發佈:2019-01-09
easyui中使用tree可以完美的展現樹形結構。如下圖
html程式碼如下:
使用cascadeCheck:true為級聯選中子節點,預設值為true。
這時問題來了,在獲取選中的節點時使用tree的getChecked是無法獲取到子節點的父節點id的,如上圖所示的“子資源”和“測試資源”節點id的。程式碼如下所示:<ul id="resourceTree" class="easyui-tree" data-options=" url:'privilegemgmt/resourceAction_getAll.action', checkbox:true, cascadeCheck:true, multiple:true, lines:true, formatter:formatNode, onLoadSuccess:function(){ <s:if test="role.resources != null"> <s:iterator value="role.resources" id='resource'> var node = $('#resourceTree').tree('find', <s:property value="#resource.id"/>); $('#resourceTree').tree('check',node.target) </s:iterator> </s:if> }"> </ul>
var checknodes = $('#resourceTree').tree('getChecked');
需要獲取子節點選中時的父節點id可使用以下方法,在getChecked後面加上獲取所需選中的指定狀態的節點id,程式碼如下:
var checknodes = $('#resourceTree').tree('getChecked',['checked','indeterminate']);
state值有三個:'checked','unchecked','indeterminate',如果state值未指定,則預設為checked。這樣就能獲取到子節點的父節點id值。