Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / HTML

Creating Treeview in jQuery

3.00/5 (3 votes)
5 Oct 2013CPOL2 min read 45.5K  
How to create Treeview in jQuery

Introduction

In this article, we will learn how to create a treeview in jQuery. Treeview is used for representing hierarchy. You can use it for many purposes. So let’s create it.

Basics – Understanding Tree View

For creating treeview, we will use the following two methods:

Click()

It is used for binding click event handler on an element. Whenever user clicks on any element, it will be detected by using click handler. Syntax for click is:

JavaScript
jQueryObject.click(handler_function);

Toggle()

It is a jQuery UI method that is used for toggling the display property of an element with the animation effect as well. For our purpose, we will use toggle with fold effect. The syntax for toggle is:

JavaScript
jQueryObject.toggle("fold","effect_duration");

In HTML, we will use the following tags:

UL – Unordered List

It is used for declaring unordered list.

HTML
<ul> List items </ul>

LI – List Item

It is used for declaring list items.

HTML
<li> Item name </li>

Logic behind the JavaScript Tree View

First, we need to prepare the HTML.

In treeview, we have Parent Nodes, Child Nodes, Nodes.

To create nodes, we will use the LI and UL tags of HTML.

To represent the parent node, we will use one LI tag just above the UL.

To represent the child node, we use the UL tag just below the LI tag.

Coding the Treeview

It’s time to turn our dreamed Treeview into reality.

To create treeview items, add the following HTML snippet in your HTML file.

HTML
<ul>
<li id="m1">Main 1</li>
<div id="l1cover">
<ul>
<li>1</li>
<li id="inLst">2</li>
<div id="inCt1">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
<li>3</li>
</ul>
</div>
</ul>
<ul>
<li id="m2">Main 2</li>
<div id="l2cover">
<ul>
<li id="inLst2">1</li>
<div id="inCt2">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</div>
<li>2</li>
<li>3</li>
</ul>
</div>
</ul>

Now to make your treeview work, just add the following jQuery snippet:

JavaScript
 $("#m1").click(function () {
$("#l1cover").toggle("fold", 1000);
});
$("#m2").click(function () {
$("#l2cover").toggle("fold", 1000);
});
$("#inLst").click(function () {
$("#inCt1").toggle("fold", 1000);
});
$("#inLst2").click(function () {
$("#inCt2").toggle("fold", 1000);
});

Summary

To summarize, we just learned how to create the treeview in jQuery. Here the important point is not about creating the treeview but how to use the power of jQuery smartly. You can check my other articles on jQuery for more details on how to use it.

Thanks for reading and don’t forget to comment and like this article.

Output

Live demo

Full Tree View

a1.PNG

Minimized 1st sub node

a2.PNG

Minimized 2nd child node

a3.PNG

Minimized child nodes

a4.PNG

Minimized 2nd node

a5.PNG

Minimized 1st node

a6.PNG

All nodes minimized

a7.PNG

Filed under: CodeProject, jQuery

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)