在项目中遇到ztree树上的某个在某些特定条件下要实现单选的功能,百度到此方法解决了问题,收藏起来,以免以后还会用到
<script type="text/javascript">
$(document).ready(function() {
//初始化树.
$.fn.zTree.init($("#treeDemo"), setting);
treeObj = $.fn.zTree.getZTreeObj("treeDemo");
$("#detail").hide();
});
var setting = {
check : {
enable : true,
autoCheckTrigger: true,
chkboxType:{ "Y": "", "N": "" }
},
data : {
simpleData : {
enable : true
}
},
async : {
enable : true,
url : "sys/menu/getMuneTree",
},
callback : {
onCheck : testClick,
}
};
//点击获取节点信息.
function testClick(e, treeId, treeNode) {
//树对象
treeObj = $.fn.zTree.getZTreeObj("treeDemo");
var nodes2 = treeObj.getCheckedNodes(true), v = "",ids = "";//获取所有选中的节点
for(var i = 0 ; i < nodes2.length ; i++){
//如果当前所有节点的id!=当前节点id
if(nodes2[i].id != treeNode.id){
nodes2[i].checked = false; //取消选中效果
treeObj.updateNode(nodes2[i]);//更新所有选中的节点..
}
}
var url = 'sys/menu/getDetail'; //测试Url
$.post(url, {id : nodes2[0].id}, function(data) {
form.val('example', {
"cMenuName": data.cMenuName
,"cState": data.cState?true:false
,"cMenuUrl":data.cMenuUrl
,"cMenuId":data.cMenuId
,"cOrder":data.cOrder
})
}, "json");
}
</script>