extjs 如图,实现带有复选框的树/选中父节点时,选中所有子节点。取消所有子节点时,才能取消根节点。

extjs treepanel checkbox_extjs에서 상위 노드와 하위 노드를 선택하는 문제에 대해

WBOY
풀어 주다: 2016-05-16 17:38:24
원래의
1070명이 탐색했습니다.
extjs treepanel checkbox_extjs에서 상위 노드와 하위 노드를 선택하는 문제에 대해
extjs 그림과 같이 체크박스를 사용하여 트리를 구현하면 부모 노드가 선택되면 모든 자식 노드가 선택됩니다. 루트 노드는 모든 하위 노드가 취소된 경우에만 취소할 수 있습니다.
코드 복사 코드는 다음과 같습니다.

var Fpanel = new Ext.tree.TreePanel ({
id:'ptree',
지역:'west',
layout:'anchor',
border:false,
rootVisible: false,
root:new Ext .tree.AsyncTreeNode({}),
listeners:{
"checkchange": function(node, state) {
if (node.parentNode != null) {
//하위 노드가 선택됨
node.cascade(function(node){
node.attributes.checked = state;
node.ui.checkbox.checked = state;
return true;
}); >// 상위 노드 선택됨
var pNode = node.parentNode;
if (state || Fpanel.getChecked(id, pNode) == "") {
pNode.ui.toggleCheck(state);
pNode.attributes.checked = state;
}
}
}
}
})
authorityTree(Fpanel)
function(Fpanel) ){
Ext.Ajax.request({
url: 'authorityTree.ashx',
method:'get',
success: function(request) {
var data = Ext. util.JSON .decode(request.responseText);
Fpanel.getRootNode().appendChild(data);
Fpanel.getRootNode().expandChildNodes(true)
>},
failure: function() {
Fpanel.render();
Ext.MessageBox.show({
title: 'Prompt',
msg: '서버가 사용 중입니다. , Firefox를 사용하여 브라우저로 탐색하거나 나중에 다시 시도하십시오! ',
버튼: Ext.MessageBox.OK,
아이콘: Ext.MessageBox.ERROR
})
}
});
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿