请问该怎么从iframe中获取父页面上的ztree对象

请问该怎么从iframe中获取父页面上的ztree对象,第1张

将zTree放在一个iframe里

zTreeObj = $("#treeDemo")zTree(setting, zNodes);

如果在当前页面的话,通过var nodes = zTreeObjgetCheckedNodes(); 即可

那么点击父页面的按钮,如何得到zTree已选中的节点

假设iframe的id和name为aa(id和name都设置,兼容性问题)

windowframes['aa']windowzTreeObjgetCheckedNodes();

目前发现的化学元素虽然有上下位关系,如惰性元素包括,金属元素包括镧系元素包括锕系元素包括重元素包括轻元素包括

但是元素之间无法构成上下代关系。

而,唯一的例外可以是放射性元素,从一种物质衰变为另一种物质。类似于生物的传宗接代。当前元素的父元素是放射行为起点的元素。

还有一个例外是恒星的核聚变过程,轻元素吸收能量变成重元素。轻元素与重元素之间构成了上下代关系。重元素的父元素是轻元素。

至于你问的当前元素的父元素的父元素,即当前元素的祖元素,目前尚无例子支持你的提法。

可以参考以下代码:

  <pre name="code" class="html">

  <td style="height: 35px" colspan="7">

  <input id="fm_AEType" class="easyui-combotree" style="width: 240px" />

  <label id="fm_AETypePath" />

  </td></pre> 

  JavaScript页面(包括数据初始化):

  initAEType: function () 

  { 

    $ajax(

    { 

      url: AEActionUrl + 'action=listaetype&ParentType=',dataType: 'json',success: function (jsonstr) 

     { 

      $('#fm_AEType')combotree(

      {

       data: jsonstr, editable: false,//lines: true, valueField: 'AE_TYPE_ID',textField: 'AE_TYPE_NAME',onLoadSuccess: function () 

       { 

        $('#fm_AEType')combotree('tree')tree("collapseAll");          

        }

         onSelect: function (item) 

       { 

         var parent = item;

         var tree = $('#fm_AEType')combotree('tree');

                      var path = new Array();

                do

                  { 

                  pathunshift(parenttext); 

                    var parent = treetree('getParent', parenttarget);

                   }

                   while (parent);

                   var pathStr = ''; 

                     for (var i = 0; i < pathlength; i++)

                      {   pathStr += path[i];

                          if (i < pathlength - 1) 

                          {                 pathStr += ' - ';               } 

                               }  

                                $('#fm_AETypePath')text(pathStr);

                                           }  

                                           }); 

                                                 } 

                                                     }); 

                                                       }

当单击按钮时触发事件,在这个事件中可以获得srcElement也就是事件节点。

通过这个事件节点,我们可以使用标准中parentNode属性,开获得其父节点元素,一直通过这个属性找到type为UL的节点,也就是所有li的父节点元素。

通过UL的childNodes属性,获得所有的li子节点,然后再在li中处理其子节点的相关属性,就可以达到你所说的目的了。

假设你系统里数据库请求的函数是 pdo_query (你自己根据情况调整),表名是tblcate

另外,这段代码使用到了array_column函数,该函数从php55起才有,如果你的版本较低,要找一个兼容函数放到函数库里(官方文档评论中就有实现)

以下是代码文本 如果复制过去出现T_VARIABLE错误,就是代码中字符被系统混掉了,你要重新手打一下

//这里根据你的意思,应该是选出没有下级的节点,如果需要全部或其它的,你根据情况修改,不影响后面的其它 *** 作

$selectedNodes = pdo_query("select from tblcate where pid not in(select pid from tblcate)");

//选出全部节点

$allNodes = pdo_query("select from tblcate ");

//将节点数据使用id索引,方便获取

$allNodes = array_column($allNodes, NULL, 'id');

foreach($selectedNodes as &$node){

$tree = getParentNode($node['pid']);

//这里的$tree 是上级名称拼起来的,不包含本级名称,如要包含,在后面附加上就行了

$node['tree'] = implode(',',$tree);

}

unset($node);

var_export($selectedNodes );

function getParentNode($pid){

global $allNodes;

$pnodes=[];

if($pid> 0 && isset($allNodes[$pid])){

$pNode = $allNodes[$pid];

$pnodes[]= $pNode['name'];

$rnodes = getParentNode($pNode['pid']);

if(!empty($rnodes)){

$pnodes = array_merge($pnodes,$rnodes);

}

}

return $pnodes;

}

function getTicketId() {

          var parentSrc = parent$("#layui-layer-iframe")attr("src");//获取父页面iframe中的src链接

          args = parentSrcsplit("&");

           for (var i = 0; i < argslength; i++) {

                  str = args[argslength - 1];

                  var arg = strsplit("=");

                 if (arg[0] == "ticketId"){

                         var retval = arg[1]

                  }

                 return retval;

           }

}

简述:这是是项目中真实遇到的情况,在子页面获取父页面的src并截取传过来的相应参数进行 *** 作。

子窗体里的public partial class FormChild : Form下写

FormParent parent;

public FormChild(FormParent parent)

{

thisparent=parent;

}

调用父窗口的对象的话要把需调用的对象写成public

然后parent对象 就能点出来了

还有就是父窗体打开子窗体的时候需这样写FormChild child=new FormChild(this);

然后show出来就行了

以上就是关于请问该怎么从iframe中获取父页面上的ztree对象全部的内容,包括:请问该怎么从iframe中获取父页面上的ztree对象、如何取得当前元素的父元素的父元素、easyui tree获取父节点的方法是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9334700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存