- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JS实现自动级联提示而不刷新页面
打开RS,新建一张报表,例如新建一个列表,从可用的来源项中拖入几个字段填充列表。
在页面资源管理器中的提示页面中,创建一个提示页面,在提示页面上创建值提示,在本示例中,添加了Product Line、Product Type 和 Product Name 提示。Product Type 根据 Product Line 级联,Product Name 根据 Product Line 和 Product Type 级联。每个都有自己的查询
分别点击每个值提示,然后在页面左下方的属性窗格中其他属性的名称位置为每个提示命名。给每个提示赋予惟一的名称,这对于使用 JavaScript 访问这些提示是至关重要的。将 Product Line 提示命名为 PN_ProductLine,将 Product Type 命名为 PN_ProductType,并将 Product Name 命名为 PN_Product。创建一个新的查询,该查询要包含所有提示查询条目的连接值。在本示例中,已创建了一个查询,该查询包含了一个名为 “Concat String” 的新数据项,该表达式会将三个提示值连接成字符串。请确保在连接字符串时,每个值之间使用的是不同的标识符注意:如果使用和显示的值不同,那么应使用显示值进行连接Concat String的表达式如下:
!|| [Sales (query)].[Products].[Product line] || ~|| [Sales (query)].[Products].[Product type] || # || [Sales (query)].[Products].[Product] || ^
回到提示页面,拖一个值提示到上面三个值提示表格的后面,设置其查询为查询5,使用值为Concat String,并在常规属性中设置必需为否,多项选择为是,设置其名称为PN_ConcatString。
在PN_ConcatString的左右两边分别拖两个HTML项目
Copy下面的代码到左边的HTML项目中:
div style=display:none
Copy下面的代码到右面的HTML项目中:
/div
script
//get cognos request object
var fW = (typeof getFormWarpRequest == function ?getFormWarpRequest() :
document.forms[formWarpRequest]);
if ( !fW || fW == undefined) { fW = ( formWarpRequest_THIS_ ?formWarpRequest_THIS_ :
formWarpRequest_NS_ );}
//get All Prompt Names
function getAllPromptNames()
{
var aPromptNames = new Array();
for (var i in window) {
if ( (+i).match(/^listBox/) ) {
var sName = i.replace( /^listBox/, );
aPromptNames.push (sName);
}
else if ( (+i).match(/^radioList/) ){
var sName = i;
aPromptNames.push (sName);
}
else if ( (+i).match(/^checkBoxList/) ){
var sName = i;
aPromptNames.push (sName);
}
}
return aPromptNames;
//to avoid Memory Leak
i=null;
sName=null
}
//get All Prompt Names
// hiding select All/deselect All
for(j=0;jdocument.links.length;j++)
{
y=document.links[j];
if (y.id.indexOf(SELECT) != -1) document.getElementById(y.id).style.display=None;
}
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,);
}
fW._oLstChoicesPN_ProductLine.onchange = fu
原创力文档


文档评论(0)