1. 程式人生 > >easyui中tree的父節點id獲取

easyui中tree的父節點id獲取

easyui中使用tree可以完美的展現樹形結構。如下圖


html程式碼如下:

使用cascadeCheck:true為級聯選中子節點,預設值為true。

<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>
這時問題來了,在獲取選中的節點時使用tree的getChecked是無法獲取到子節點的父節點id的,如上圖所示的“子資源”和“測試資源”節點id的。程式碼如下所示:
var checknodes = $('#resourceTree').tree('getChecked');
需要獲取子節點選中時的父節點id可使用以下方法,在getChecked後面加上獲取所需選中的指定狀態的節點id,程式碼如下:
var checknodes = $('#resourceTree').tree('getChecked',['checked','indeterminate']);
state值有三個:'checked','unchecked','indeterminate',如果state值未指定,則預設為checked。這樣就能獲取到子節點的父節點id值。