0

我创建了一个带有右上下文菜单的 dynatree,它还有一个子菜单。要求是在点击子菜单的任何项目时,子菜单项目应替换从中激活的树节点。以下是实物图:

ABC
DEF
GHI-> Lets say on right click of GHI, we have a context menu->XYZ which further has a sub-menu-> PQR. Now what I want is that on click of PQR, it should replace GHI.

我编写了以下代码来创建树和上下文菜单。

$(function(){
        $("#tree").dynatree({

            initAjax: {
                url: "sample-data1.json"
                }  ,
            onActivate: function(node) {
                $("#echoActive").text(node.data.title);

            },
            onDeactivate: function(node) {
                $("#echoActive").text("-");
            }


        });
    }); 

function ReplaceTest() {
                var tree = $("#tree").dynatree("getTree");


                }


     function Replace()
            {
                var f = function(){ReplaceTest();};
                setTimeout(f,0);

            }

 <div>
    <ul id="myMenu" class="contextMenu">
            <li><a href="#">Employee Data</a>
            <ul>         
  <li><a href="#" onclick="Replace()">Name</a></li>         
  <li><a href="#" onclick="Replace()">Desig</a></li>           
  <li><a href="#" onclick="Replace()">ID</a></li>          
  <li><a href="#" onclick="Replace()">Mob</a></li>        
  </ul> 
            </li>
    </ul>
</div>

在上面的代码中,我在子菜单项上给出了 onclick() 方法,但无法继续执行此操作。请帮忙。

4

1 回答 1

4

如果要重命名当前节点,可以使用

var node = $("#tree").dynatree("getActiveNode");
node.data.title = "My new title";
node.render();
于 2011-09-10T09:27:11.530 回答