这是一份知识产权清单。 所以我知道很多JS,但显然还不足以解决这个问题。我有一个列表,在该列表中我有一个层次结构将扩展几个层。我希望所有层开始隐藏但第一层。像这样的东西
第一层(显示) 第二层(隐藏) 第三层(隐藏)
我的JS代码在下面,对于我的生活,我无法理解。任何帮助将不胜感激。
function StartHidden() {
var q=document.getElementById("ExpandedTable");
// get the table
tbl = q.parentNode.parentNode.parentNode.parentNode;
var isFirstRow=true;
for ( var i = 0; i < tbl.rows.length; i++) {
var trCurrent = tbl.rows; // the current row
var d = trCurrent.cells[0]; // first cell
var c = d.firstChild;
if (i < 2 || c.tagName.indexOf("IMG") != -1) {
c = c.src; // leave it visible, since it has + icon
for ( var j = 1; j < trCurrent.cells.length; j++) {
trCurrent.cells[j].width="1";
}
}
else {
trCurrent.style.display = "none"; // hide the row
}
}
}
答案 0 :(得分:0)
为了在报表中使用Cognos Javascript对象,您必须使用getFormWarpRequest函数,而不是直接使用文档对象。
正确的代码段应为:
var fW = (typeof getFormWarpRequest == "function" ?getFormWarpRequest() : document.forms["formWarpRequest"]);
// if it’s undefined, check if it is running in a portlet
if ( !fW || fW == undefined) { fW = ( formWarpRequest_THIS_ ?formWarpRequest_THIS_ : formWarpRequest_NS_ );}
但是,这只是解决方案的一部分,因为从Cognos 8.4开始,数据对象(列表,交叉表)是使用动态名称和IDS生成的。