-1

我正在使用 Struts 2 dojo 插件来制作 html 树。它为树节点生成一些 dojo-html 代码

<div dojoType="struts:StrutsTreeNode"     id="2"    title="car">

我想通过这个处理树节点点击

<script language="JavaScript" type="text/javascript">
dojo.event.topic.subscribe("treeSelected", function treeNodeSelected(message) {

    dojo.io.bind({
        url: "<s:url value='../roseindia/objectsList2.action'/>?categoryId="+message.node.title,
        load: function(type, data, evt) {
            var divDisplay = dojo.byId("displayIt");
            divDisplay.innerHTML=data;
        },
        mimeType: "text/html"
    });

});

我可以将 title(car) 作为 message.node.title 传递。我需要传递 id 而不是标题,但不是属性 message.node.id。

如何在 JavaScript 函数中访问 id(of treenode)?

4

1 回答 1

0

哦,好吧,所以你在 0.4.3 dojo.version 中!?我不确定 API 在那个旧版本中是如何工作的,但是当前最简单的 api 挂钩是 onClick。

我记得,使用 tree.onClick 覆盖,您将获得itemTreeNode,两者都是项目引用您的商店 json 数据的对象,而 treenode 是当前单击的行(dijit Widget,这意味着您应该拥有 .getChildren、.domNode ETC)。

所以在代码方面,试试

<div dojoType="struts:StrutsTreeNode"     id="2"    title="car">
  <script type="dojo/method" event="onClick" args="item, treeNode">
     alert(treeNode.id);
     alert(treeNode.domNode.tagName);
     alert(treeNode.domNode.innerHTML.substr(0,30);
  </script>
</div>
于 2012-06-28T12:54:04.357 回答