JS实现不刷新值提示联动并且按value升序排序.docx
- 文档编号:27592055
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:14
- 大小:31.34KB
JS实现不刷新值提示联动并且按value升序排序.docx
《JS实现不刷新值提示联动并且按value升序排序.docx》由会员分享,可在线阅读,更多相关《JS实现不刷新值提示联动并且按value升序排序.docx(14页珍藏版)》请在冰豆网上搜索。
JS实现不刷新值提示联动并且按value升序排序
1.拉入三个valueprompt,分别命名为PN_Dept_Level1,PN_Dept_Level2,PN_Dept_Level3。
如图:
2.拉入三个Query,每个query放入排序的Key和显示的Text。
如图:
(其中,编码用来排序,名称用来显示)
3.在每个valueprompt里设置显示值和使用值,这里设置编码为使用值,名称为使用值。
如图:
4.再拉入一个valueprompt用来保存各个层级关系,以及两个HTML控件用来控制各个valueprompt的显示。
Valueprompt命名为:
PN_ConcatString如图:
5.拉入一个Query来将层级关系带到页面上(由于不刷新页面,所以数据必须事先去到页面上)
query里拉入两个DataItem,内容如下:
编码链接:
'!
'||[收入构成分析].[开单科室维度-门诊].[组织机构层级].[第一级组织机构].[层级1部门编码]||'~'||[收入构成分析].[开单科室维度-门诊].[组织机构层级].[第二级组织机构].[层级2部门编码]||'#'||[收入构成分析].[开单科室维度-门诊].[组织机构层级].[第三级组织机构].[层级4部门编码]||'^'
名称链接:
'!
'||[收入构成分析].[开单科室维度-门诊].[组织机构层级].[第一级组织机构].[层级1部门名称]||'~'||[收入构成分析].[开单科室维度-门诊].[组织机构层级].[第二级组织机构].[层级2部门名称]||'#'||[收入构成分析].[开单科室维度-门诊].[组织机构层级].[第三级组织机构].[层级4部门名称]||'^'
6.同样在页面上设置这个valueprompt的显示值为名称链接,使用值为编码链接。
7.在左边的HTML里写入代码:
none"> 8.在右侧的HTML里写入代码:
//------------------------------------getcognosrequestobject----------------------
varfW=(typeofgetFormWarpRequest=="function"?
getFormWarpRequest():
document.forms["formWarpRequest"]);
if(!
fW||fW==undefined){fW=(formWarpRequest_THIS_?
formWarpRequest_THIS_:
formWarpRequest_NS_);}
//------------------------------------getAllPromptNames----------------------
functiongetAllPromptNames()
{
varaPromptNames=newArray();
for(variinwindow){
if((""+i).match(/^listBox/)){
varsName=i.replace(/^listBox/,"");
aPromptNames.push(sName);
}
elseif((""+i).match(/^radioList/)){
varsName=i;
aPromptNames.push(sName);
}
elseif((""+i).match(/^checkBoxList/)){
varsName=i;
aPromptNames.push(sName);
}
}
returnaPromptNames;
//-----------------------------------toavoidMemoryLeak----
i=null;
sName=null
}
//------------------------------------getAllPromptNames----------------------
//hidingselectAll/deselectAll
for(j=0;j { y=document.links[j]; if(y.id.indexOf("SELECT")! =-1)document.getElementById(y.id).style.display='None'; } String.prototype.trim=function(){ returnthis.replace(/^\s+|\s+$/g,""); } fW._oLstChoicesPN_Dept_Level1.onchange=function() {cascadePrompts("Dept_Level1","Dept_Level2,Dept_Level3")}; fW._oLstChoicesPN_Dept_Level2.onchange=function() {cascadePrompts("Dept_Level2","Dept_Level3")}; //Checkifthepromptsbeingcascadedarepresent //onpageorremovedasperreportrequirement functionvalidatePrompts(removearr) { promptsonpage=getAllPromptNames(); varflag; newarr=newArray(); vari=0; for(varj=0;j { flag=false; for(varjj=0;jj if(("PN_"+removearr[j])==promptsonpage[jj]) { flag=true; break; } } if(flag==true) { newarr[i]=removearr[j]; i++; } } returnnewarr; } //callsallthefunctionsrequiredforcascadeing //prompt: Listpromptonwhichhasthevaluestofilterthechildprompts //remove: Childpromptsonwhichthecascadingissupposedtobeperformed functioncascadePrompts(prompt,remove){ removearr=newArray(); removearr=remove.split(","); newarray=validatePrompts(removearr); emptyList(newarray); createList(prompt,newarray); } //Emptychildpromptsbeforeyouinsertnewfilteredvalues functionemptyList(arr){ for(varjj=0;jj fW["_oLstChoicesPN_"+arr[jj]].selectedIndex=-1; fW["_oLstChoicesPN_"+arr[jj]].length=0; } //------------------toavoidmemoryleak----- arr=null; } //createsthefilterarray functioncreateList(prompt,newarr){ varlen2=fW["_oLstChoicesPN_"+prompt].length; arrfilter=newArray(); varidx=0; for(varj=0;j if(fW["_oLstChoicesPN_"+prompt][j].selected==true){ arrfilter[idx]=fW["_oLstChoicesPN_"+prompt][j].value; idx++; } } for(varjj=0;jj { createListFilter(prompt,newarr[jj],arrfilter); } //------------------toavoidmemoryleak----- arrfilter=null; newarr=null; } functioncreateParentFilter(prompt) { varlen2=fW["_oLstChoicesPN_"+prompt].length; varfilter=newArray(); varidx=0; for(varj=0;j if(fW["_oLstChoicesPN_"+prompt][j].selected==true){ filter[idx]=fW["_oLstChoicesPN_"+prompt][j].value; idx++; } } returnfilter; } functioncheckParentFilter(string,fltr,flg) { for(vark=0;k { if(fltr[k]! ="All"&&flg){ if(string.match(fltr[k])) { returntrue; } } else{returnflg;} }if(fltr.length==0){returntrue;} flg=false; returnflg; } functioncreateListFilter(filterlevel,filtervalues,filter){ varparFiltersStr="Dept_Level1,Dept_Level2"; parentarr=newArray(); parentarr=parFiltersStr.split(","); newParentArr=validatePrompts(parentarr); parentFilterStr=newParentArr.join(); Dept_Level1filter=newArray(); if(parentFilterStr.match("Dept_Level1")){ Dept_Level1filter=createParentFilter("Dept_Level1"); } else{ Dept_Level1filter[0]="All" } //-------------------------Dept_Level3Linefilters--- Dept_Level2filter=newArray(); if(parentFilterStr.match("Dept_Level2")){ Dept_Level2filter=createParentFilter("Dept_Level2"); } else{ Dept_Level2filter[0]="All" } //-------------------------Dept_Level3Typefilters--- varfd; varsd; vartd; varfrd; vartdidx=0; varfdidx=0; varsdidx; varfrdidx; arr=newArray(); arrt=newArray(); if(filterlevel=="Dept_Level1"){ fd="! "; sd="~";} if(filterlevel=="Dept_Level2"){ fd="~"; sd="#";} if(filterlevel=="Dept_Level3"){ fd="#"; sd="^"; } //----------------------------------filterValues------------------------------ if(filtervalues=="Dept_Level1"){ td="! "; frd="~"; } if(filtervalues=="Dept_Level2"){ td="~"; frd="#"; } if(filtervalues=="Dept_Level3"){ td="#"; frd="^";} varlen=fW._oLstChoicesPN_ConcatString.length; for(varidx=0;idx for(vari=0;i varstring2=fW._oLstChoicesPN_ConcatString[i].value; fdidx=string2.indexOf(fd); sdidx=string2.indexOf(sd); tdidx=string2.indexOf(td); frdidx=string2.indexOf(frd); varstring2t=fW._oLstChoicesPN_ConcatString[i].text; fdidxt=string2t.indexOf(fd); sdidxt=string2t.indexOf(sd); tdidxt=string2t.indexOf(td); frdidxt=string2t.indexOf(frd); varstring3=string2.substring(fdidx+1,sdidx); if(filter[idx]! ="All"){ if(string3.trim()==filter[idx].trim()){ varflag=true; flag=checkParentFilter(string2,Dept_Level1filter,flag); flag=checkParentFilter(string2,Dept_Level2filter,flag); if(flag) { arrt[i]=string2t.substring(tdidxt+1,frdidxt); arr[i]=string2.substring(tdidx+1,frdidx); } } } else{ varflag=true; flag=checkParentFilter(string2,Dept_Level1filter,flag); flag=checkParentFilter(string2,Dept_Level2filter,flag); if(flag) { arrt[i]=string2t.substring(tdidxt+1,frdidxt); arr[i]=string2.substring(tdidx+1,frdidx); } } } } arr=uniqueVal(arr); arrt=uniqueVal(arrt); vartemparr=newArray() temparr[0]=newArray(); temparr[1]=newArray(); for(varx=0;x { if(arr[x]! ="undefined"){ temparr[x]=newArray(); temparr[x][0]=arr[x]; temparr[x][1]=arrt[x]; } } temparr.sort(); filtervalues="_oLstChoicesPN_"+filtervalues; varelOptNew=document.createElement('option'); elOptNew.text=fW["_oLstChoicesPN_Dept_Level1"][0].text; elOptNew.value=fW["_oLstChoicesPN_Dept_Level1"][0].value; fW[filtervalues].add(elOptNew); varelOptNew=document.createElement('option'); elOptNew.text=fW["_oLstChoicesPN_Dept_Level1"][1].text; elOptNew.value=fW["_oLstChoicesPN_Dept_Level1"][1].value; fW[filtervalues].add(elOptNew); for(varj=2;j if(temparr[j]! =undefined&&temparr[j]! =null&&temparr[j]! =""&&temparr[j][1]! ="undefined"){ if(temparr[j]! =filter[0]){ varelOptNew=document.createElement('option'); elOptNew.text=temparr[j][1]; elOptNew.value=temparr[j][0]; fW[filtervalues].add(elOptNew); } } } //------------------toavoidmemoryleak----- temparr=null; regionfilter=null; countryfilter=null; filter=null; string2=null; } functionuniqueVal(oldarr){ j=0; newarr=newArray() for(vari=0;i newarr[j]=oldarr[i];j++; if((i>0)&&(oldarr[i]==oldarr[i-1])){ newarr.pop();j-- } } returnnewarr; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JS 实现 刷新 提示 联动 并且 value 升序 排序