一、加载完成之后默认选中第一个子节点
$("#sjxmtree").tree({
onLoadSuccess: function (node, data) {
if (data.length > 0) {
var node = $(this).tree('getRoot');
if (node != null) {
try {
var nodes = $(this).tree('getChildren', node.target);
$(this).tree('select', nodes[0].target);
}
catch (err) {
$(this).tree('select', node.target);
}
}
}
}
});
二、tree 搜索功能,支持循环搜索。
/**
* easyui tree 查询
* @param tree treeid 带#
* @param searchText 需要查询的内容,目前区分大小写
*/
function searchTree(tree, searchText) {
function makeVisible(targetNode) {
if (targetNode != null) {
//判断节点是否在可视区域
var $targetNode = $(targetNode.target);
var container = $(tree).parent();
var containerH = container.height();
var nodeOffsetHeight = $targetNode.offset().top - container.offset().top;
if (nodeOffsetHeight > (containerH - 100)) {
var scrollHeight = container.scrollTop() + nodeOffsetHeight - containerH + 100;
container.scrollTop(scrollHeight);
}
}
}
var nodes = $(tree).tree('getChildren');
var node = $(tree).tree('getSelected');
var beginIndex = 0;
if (node) {
for (var i = 0; i <nodes.length; i++){
if (nodes[i].id === node.id){
beginIndex = i;
break;
}
}
}
for (var i=beginIndex + 1; i<nodes.length; i++) {
node = nodes[i];
if (node.text.indexOf(searchText) != -1) {
$(tree).tree('select', node.target);
makeVisible(node);
return;
}
}
$.messager.confirm('询问', '在找不到了,是否要从头开始?', function(r){
if (r){
$(tree).tree('select', nodes[0].target);
searchTree(tree, searchText);
}
});
}