JqueryUI tree默许点击第一个节点

JqueryUI tree默认点击第一个节点

 

 

 提供一个JqueryUI api网站供学习。地址:http://www.jeasyui.com/


1、html中设置<ul id="unitlist" animate="true"></ul>显示tree。

2、在加载js时候先注册tree。

 

$(function(){
	var addr_tree = $("#unitlist").tree({
	    url:'',
	    method:"post",
	    onSelect:function(node){}
	});
})

 3、通过查看jqueryUI api,没有发现一个有效的能使tree选中第一个节点的方法。


JqueryUI tree默许点击第一个节点

 4、然后查看jqueryUI生成的html源文件,发现只要选中一个节点,就会在class中添加tree-node-selected属性。于是通过源文件根据id="unitlist"往下查找第一个节点的div,手动给他添加class="tree-node-selected";


JqueryUI tree默许点击第一个节点

 5、此时,就可以通过getSelected方法获取Node对象,同时就可以获取选中行的相关信息了。但是发现$("#unitlist").tree()是异步执行的,放在声明变量后面不起作用。于是代码改成:

 

$(function(){
	var addr_tree = $("#unitlist").tree({
	    url:'',
	    method:"post",
	    onSelect:function(node){},
	    onLoadSuccess:function(node,data){
		   $("#unitlist li:eq(0)").find("div").addClass("tree-node-selected");   //设置第一个节点高亮
		   var n = $("#unitlist").tree("getSelected");
		   if(n!=null){
		        $("#unitlist").tree("select",n.target);    //相当于默认点击了一下第一个节点,执行onSelect方法
		   }
	    }
	});
})

 PS:服务端需要提供的json数据格式可参考http://www.jeasyui.com/documentation/tree.php。

 

------------------------------------------------------------------------------------

 

再说一下DateBox插件,怎么获取它的值呢?


  发现API中没有提供这个方法,试了一下$("#a").datebox("getValue")方法即可得到。