我做的是当点击摸个节点时,会做一系列判断,如果他是叶子节点,就让他选中,
现在是问题来了,js 代码 标红的那行代码他会执行,但是执行后,那个节点根本没有设置为选中,
麻烦高手们赐教,我是刚学的
页面代码
<ul id="treess"></ul><br>
选择节点的id:<input type="text" id="idNo"/><br>
选择节点的text:<input type="text" id="content"/>
<input type="button" value="确定" οnclick="getSelected()" />
js 代码
//页面加载完后执行
$(document).ready(function(){
//调用树
initTree();
});
/**
* 初始化树
*/
//定义一个全局参数,用于封装tree自动加载后台数据传入的id,当加载数据时,会自动将加载的id赋给id参数
var id=0;
function initTree(){
$("#treess").tree({
url: '../treeServlet?id'+id,
//checkbox:true,
//onlyLeafCheck: true,
animate: true,
onClick: function(node){
//点击节点获取内容
//alert(node.id+" "+node.text)
//获取选中节点对象
var child = $("#treess").tree('getChildren',node.target);
//如果选中的节点状态是关闭,且还有子节点则展开选中节点
if(child.length>0 && $("#treess").tree('getSelected').state=='closed'){
//打开节点
$("#treess").tree('expand',node.target)
}else if(child.length>0 && $("#treess").tree('getSelected').state=='open'){
//如果选中的节点状态是打开,且还有子节点则展开选中节点
//折叠节点
$("#treess").tree('collapse',node.target)
}else if(child.length==0 && $("#treess").tree('getSelected').state=='closed'){
//如果选中的节点状态是关闭,且无子节点则加载后台数据
//折叠节点
//$("#treess").tree('loadData')
$("#treess").tree('reload',node.target);
}else if(child.length==0 && $("#treess").tree('getSelected').state==null){
//如果选中的节点状态为空,且无子节点则置为选中
$("#treess").tree('check',node.target);
alert($("#treess").tree('check',node.target))
}
}
});
}
/**
* 点击确定按钮的事件
*/
function getSelected(){
var node = $("#treess").tree('getChecked');
}