Tree Navigation with Splitter

In this post, we’ll create a simple Navigation with the jqxTree and jqxSplitter widgets. When the user selects a tree item, a content panel will be updated depending on the selected item. 1. Include the JavaScript and CSS files.
<link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" />
<script type="text/javascript" src="scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src="jqwidgets/jqxbuttons.js"></script>
<script type="text/javascript" src="jqwidgets/jqxscrollbar.js"></script>
<script type="text/javascript" src="jqwidgets/jqxpanel.js"></script>
<script type="text/javascript" src="jqwidgets/jqxtree.js"></script>
<script type="text/javascript" src="jqwidgets/jqxsplitter.js"></script>
2. Add the HTML structure. The Splitter’s structure requires a container DIV tag and at least 2 nested DIV tags. In the first nested DIV, we add the Tree. Tre second nested DIV is for the content panel.
<div id="splitter">
<div>
<div style="border: none;" id='jqxTree'>
<ul>
<li id="Mail" item-expanded='true'>
<img style='float: left; margin-right: 5px;' src='../../images/mailIcon.png' /><span
item-title="true">Mail</span>
<ul>
<li id="Calendar" item-expanded='true'>
<img style='float: left; margin-right: 5px;' src='../../images/calendarIcon.png' /><span
item-title="true">Calendar</span> </li>
<li id="Contacts">
<img style='float: left; margin-right: 5px;' src='../../images/contactsIcon.png' /><span
item-title="true">Contacts</span> </li>
<li id="Inbox">
<img style='float: left; margin-right: 5px;' src='../../images/folder.png' /><span
item-title="true"> <span>Inbox</span><span style='color: Blue;'> (3)</span></span>
<ul>
<li id="jQWidgets">
<img style='float: left; margin-right: 5px;' src='../../images/folder.png' /><span
item-title="true">jQWidgets</span>
<ul>
<li id="Admin">
<img style='float: left; margin-right: 5px;' src='../../images/folder.png' /><span
item-title="true">Admin</span> </li>
<li id="Corporate">
<img style='float: left; margin-right: 5px;' src='../../images/folder.png' /><span
item-title="true">Corporate</span> </li>
<li id="Finance">
<img style='float: left; margin-right: 5px;' src='../../images/folder.png' /><span
item-title="true">Finance</span> </li>
<li id="Other">
<img style='float: left; margin-right: 5px;' src='../../images/folder.png' /><span
item-title="true">Other</span> </li>
</ul>
</li>
<li id="Personal">
<img style='float: left; margin-right: 5px;' src='../../images/folder.png' /><span
item-title="true">Personal</span> </li>
</ul>
</li>
<li id="Deleted Items" item-expanded='true'>
<img style='float: left; margin-right: 5px;' src='../../images/recycle.png' /><span
item-title="true"> <span>Deleted Items</span><span style='color: Blue;'> (10)</span></span>
<ul>
<li id="Today">
<img style='float: left; margin-right: 5px;' src='../../images/folder.png' /><span
item-title="true">Today</span> </li>
<li id="Last Week">
<img style='float: left; margin-right: 5px;' src='../../images/folder.png' /><span
item-title="true">Last Week</span> </li>
<li id="Last Month">
<img style='float: left; margin-right: 5px;' src='../../images/folder.png' /><span
item-title="true">Last Month</span> </li>
</ul>
<li id="Notes">
<img style='float: left; margin-right: 5px;' src='../../images/notesIcon.png' /><span
item-title="true">Notes</span> </li>
<li id="Settings">
<img style='float: left; margin-right: 5px;' src='../../images/settings.png' /><span
item-title="true">Settings</span> </li>
<li id="Favorites">
<img style='float: left; margin-right: 5px;' src='../../images/favorites.png' /><span
item-title="true">Favorites</span> </li>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="ContentPanel">
</div>
</div>
3. Initialize the widgets in the jQuery’s ready function. Bind to the jqxTree’s ‘select’ event and depending on the selected item, select the ‘ContentPanel’ DIV tag and set its new content.
<script type="text/javascript">
$(document).ready(function () {
var theme = '';
// Create jqxTree
$('#jqxTree').jqxTree({ theme: theme, height: '100%', width: '100%' });
$("#splitter").jqxSplitter({ theme: theme, width: 650, height: 400, panels: [{ size: 250}] });
$('#jqxTree').bind('select', function (event) {
$("#ContentPanel").html("<div style='margin: 10px;'>" + event.args.element.id + "</div>");
});
});
</script>
tree-with-splitter

About admin


This entry was posted in jQuery, jQuery Plugins, jqxSplitter, jqxTree and tagged , , , , , , , , , , , , , , , , , , , . Bookmark the permalink.



Leave a Reply