阿信的树

wenxiaogen 2006-12-03 10:29:13
我想把选种的节点id传到父页面,不知道如何改htc 文件,希望得到大家帮助;;
<public:component>
<public:attach event="ondocumentready" onevent="initialize()" />
<public:attach event="onmouseover" onevent="mouseover()"/>
<public:attach event="onmouseout" onevent="mouseout()"/>
<public:attach event="onclick" onevent="mouseclick()"/>
<public:attach event="onselectstart" onevent="SelectStart()"/>
<public:attach event="mousedblclick" onevent="mousedblclick()"/>
<public property name="XmlSrc"/>
<public property name="xname"/>
<public property name="showButton">
<script language="javascript">
<!--
//** Power by Fason
//** email : fason_pfx@hotmail.com
//** XmlHttpRequest Class **/
function XmlHttpRequest(Url)
{
this.url=Url;
this.readystate=0;
this.Xmlhttp=null;
this.Xmldom=null;
this.error=false;
}

XmlHttpRequest.prototype.send=function()
{
var o=this;
this.initialize();
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
this.Xmlhttp=xmlhttp;
try{
with(xmlhttp)
{
onreadystatechange=function(){ o.ReadyStateChange();}
open("get",this.url+(/\?/g.test(this.url)?"&":"?")+"tmp="+Math.random(),true);
send();
}
}catch(ex){ this.error=true;this.onload();this.dispose();}
}

XmlHttpRequest.prototype.ReadyStateChange=function()
{
var xmlhttp=this.Xmlhttp;
var _readystate=xmlhttp.readyState;
this.readystate=_readystate;
if(_readystate==4)
{
if(xmlhttp.status==200)
{
this.Xmldom=xmlhttp.responseXML;
if(this.Xmldom.xml=="")
{
this.error=true;
}

}
else{
this.error=true;
}
this.onload();
this.dispose();
}
}

XmlHttpRequest.prototype.dispose=function()
{
this.Xmldom=null;
this.XmlHttp=null;
}

XmlHttpRequest.prototype.initialize=function()
{
//do something
}
XmlHttpRequest.prototype.onload=function()
{
//do something;
}


/****************** Globe Variables ************************/
var imgFile=new Image();imgFile.src='tree/endnode.gif';
var imgClose=new Image();imgClose.src='tree/collapsed.gif';
var imgOpen=new Image();imgOpen.src='tree/expanded.gif';
element.selectedNode=null;
var tmpClass='';
var showButton = element.showButton ? true : false;
var parameter=element.uid;
var loading = "正在加载...";
var unavaible = "加载失败!";
var XX=new ActiveXObject("Microsoft.XMLDOM");
XX.async=false;
XX.load("tree/xtree.xsl");
/*************************************************/

function initialize()
{
element.document.body.attachEvent("onkeydown",function(){ return keydown();});
//loadChildren(element);
if(!parameter)
loadChildren(element);
else
initdisplay(element);

}

function getElement(el,T)
{
var ol=null;
var Children=el.children;
for(var i=0;i<Children.length;i++)
{ if(Children[i].tagName.toUpperCase()==T.toUpperCase()){ ol=Children[i];break;} }
return ol;
}
function mousedblclick(bid)
{
alert("我进来了啊");
var e=window.event.srcElement;
var E=e.parentNode;
alert(E.type);
if(E.type=='parent'){
alert('请选择底层单位');
return false;
}
opener.form1.xbudgetid.value=E.uid;
opener.form1.xbudgetname.value=E.uname;
window.close();
}
function SelectStart(){
window.event.cancelBubble=true;
window.event.returnValue=false;
return false;
}

function initdisplay(oDiv){
oDiv.send="true";
var x=new XmlHttpRequest(oDiv.XmlSrc);
var ick = getCookie(oDiv.parentElement.uid);
if(!ick) setCookie(oDiv.parentElement.uid,1);
x.initialize=function()
{
oDiv.innerHTML='<div type="leaf" class="TreeNode"><img type="img" align="absmiddle" src="'+imgFile.src+'"><span type="label"><span class="loading">'+loading+'</span></span></div>';
}
x.onload=function()
{
var load=getElement(oDiv.firstChild,'span');
if(x.error)
{
load.firstChild.innerHTML = unavaible;
}
else{
var dom=x.Xmldom.documentElement.selectSingleNode("/TreeNode");
if(dom.hasChildNodes()){
var iSelected=false;
if(selectedNode==load.parentNode)iSelected=true;
oDiv.innerHTML=dom.transformNode(XX);
if(iSelected)
{
selectedNode=null;
select(oDiv.firstChild,true);
}
if(showButton)
{
checkedChildren(oDiv.parentElement);
}
else
{
var cc = oDiv.getElementsByTagName("input");
for(var i=0;i<cc.length;i++)
cc[i].style.display="none";
}
var Children = oDiv.childNodes;
for(var i=0;i<Children.length;i++)
{

//setCookie(Children[i].uid,1);
//var ck = parseInt(getCookie(Children[i].uid))
//window.alert("Children["+i+"].title="+Children[i].uid+Children[i].type);

//if( ck == 1 && Children[i].type=="parent")
if(parameter.indexOf(Children[i].uid)>=0){
if(Children[i].type=="parent")
expand2(Children[i]);
else
select(Children[i],0,false);
}
}
}
else{
load.firstChild.innerHTML = unavaible;
}
}
}
x.send();
}

function mouseclick()
{
var e=window.event.srcElement;
if(e.tagName.toUpperCase()=="A")
{
var E=e.parentNode;
if(E.type=="label"){
E=E.parentNode;
select(E,false,true)
toggle(E)
e.blur();
}
}
else if(e.type=='label')
{
e=e.parentNode;
select(e,true,true);
toggle(e);
}
else if(e.type=='img')
{
e=e.parentNode;
toggle(e);
if(e.type=='leaf')
{ select(e,true,true);}
}
else if(e.type=="checkbox")
{
e = e.parentNode;
checkedChildren(e);
checkedParent(e);
}
}

function mouseover()
{
var e=window.event.srcElement;
if(e.tagName.toUpperCase()=="A")e=e.parentNode;
if(e.type=='label')
{
tmpClass=e.className;
e.className='MouseOver';
}
}

function mouseout()
{
var e=window.event.srcElement;
if(e.tagName.toUpperCase()=="A")e=e.parentNode;
if(e.type=='label')
{
if(e.parentNode==selectedNode)
{
e.className='HighLight';
}
else{
e.className=tmpClass;
}
}
}

function toggle(el)
{
if(el.type=='parent')
{
if(el.open=='true')
collapse(el);
else
expand(el);
}
}

function collapse(el)
{
var tmp = getElement(el,"div");
if(tmp) { tmp.style.display='none';}
getElement(el,'img').src=imgClose.src;
el.open='false';
setCookie(el.uid,0);
}
...全文
127 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧