提供一个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选中第一个节点的方法。
4、然后查看jqueryUI生成的html源文件,发现只要选中一个节点,就会在class中添加tree-node-selected属性。于是通过源文件根据id="unitlist"往下查找第一个节点的div,手动给他添加class="tree-node-selected";
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")方法即可得到。
lbs.addClass("tree-node-selected");