将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获取父节点的方法是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)