DHTMLX Docs & Samples Explorer

Add / Delete items

You can freely customize a tree view. This sample illustrates that the tree items can be easily added/deleted dynamically through the graphical user interface. You can insert new sibling or child node as well. This feature allows you to configure a DHTML tree menu effortlessly.

Insert new child item Item label

Insert new item next Item label

Delete item

  • zeros passed to the function for arguments 4-7 (function to call on select, images) mean the usage of default values for them
  • Last argument is a comma delimited string of the following possible value (upper case only):
  • SELECT - move selection to this node after inserting
  • CALL - call function on select
  • TOP - add node to the top position
  • CHILD - node has child items
  • CHECKED - checkbox is checked (if exists)
  • Source
     
    <link rel="STYLESHEET" type="text/css" href="../../codebase/dhtmlxtree.css">
    <script  src="../../codebase/dhtmlxcommon.js"></script>
    <script  src="../../codebase/dhtmlxtree.js"></script>
    <script>
    function fixImage(id) {
        switch (tree.getLevel(id)) {
        case 1:
            ;
            tree.setItemImage2(id, 'folderClosed.gif', 'folderOpen.gif', 'folderClosed.gif');
            break;
        case 2:
            ;
            tree.setItemImage2(id, 'folderClosed.gif', 'folderOpen.gif', 'folderClosed.gif');
            break;
        case 3:
            ;
            tree.setItemImage2(id, 'folderClosed.gif', 'folderOpen.gif', 'folderClosed.gif');
            break;
        default:
            ;
            tree.setItemImage2(id, 'leaf.gif', 'folderClosed.gif', 'folderOpen.gif');
            break;
        }
    }
    </script> <table> <tr> <td valign="top"> <div id="treeboxbox_tree" style="width:250px; height:218px;background-color:#f5f5f5;border :1px solid Silver;; overflow:auto;"></div> </td> <td rowspan="2" style="padding-left:25" valign="top"> <a href="javascript:void(0);" onClick="var d=new Date(); tree.insertNewItem(tree.getSelectedItemId(),d.valueOf(),document.getElementById('ed1').value,0,0,0,0,'SELECT'); fixImage(d.valueOf());">Insert new child item</a> Item label <input type="text" value="New item" id="ed1"><br><br> <a href="javascript:void(0);" onClick="var d=new Date(); tree.insertNewNext(tree.getSelectedItemId(),d.valueOf(),document.getElementById('ed2').value,0,0,0,0,'SELECT'); fixImage(d.valueOf());">Insert new item next</a> Item label <input type="text" value="New item" id="ed2"><br><br> <a href="javascript:void(0);" onClick="tree.deleteItem(tree.getSelectedItemId(),true);">Delete item</a><br><br> </td> </tr> </table> <li>zeros passed to the function for arguments 4-7 (function to call on select, images) mean the usage of default values for them</li> <li>Last argument is a comma delimited string of the following possible value (upper case only):</li> <li type="circle">SELECT - move selection to this node after inserting</li> <li type="circle">CALL - call function on select</li> <li type="circle">TOP - add node to the top position </li> <li type="circle">CHILD - node has child items</li> <li type="circle">CHECKED - checkbox is checked (if exists)</li> <script>
    tree = new dhtmlXTreeObject("treeboxbox_tree", "100%", "100%", 0);
    tree.setSkin('dhx_skyblue');
    tree.setImagePath("../../codebase/imgs/csh_bluebooks/");
    tree.loadXML("../common/tree3.xml");
    </script>