通过在Multi Select参数中追加/更新字符串来传递参数值

时间:2013-10-18 19:57:45

标签: javascript pentaho

我是Pentaho BI工具(pentaho-cde)的新手。我想更新选定的值并分配给参数。

我创建了Multiselect组件和简单参数。

我在Multiselect组件的更改后方法中添加了javascript代码,

function(s){
alert(s); // selected values = "08-01-2013,08-02-2013"
var appendval = s+",08-05-2013"; //after append "08-01-2013,08-02-2013,08-05-2013"
var  arrayappend =  appendval.toString().split(","); 
arrayappend = "'" + arrayappend.join("','") + "'";
if (typeof arrayappend == 'string') arrayappend = [arrayappend];
alert(arrayappend);  // alert as = '07-29-2013','08-01-2013','08-05-2013'
//Dashboards.fireChange('solddate',['07-29-2013','08-01-2013','08-05-2013']);//this works 
Dashboards.fireChange('solddate',arrayappend); // but this is not working
}

正如我在firechange事件中提到的那样,如果我直接传递值,它会起作用,但如果我通过数组传递值,那么它将不起作用,我不知道我错过了什么。提前致谢。

1 个答案:

答案 0 :(得分:1)

实际上我将它转换为“引用And CommaSeparated”,然后转换为数组,以便Dashboard.fireChange最初不起作用。我已更新代码并跳过中间步骤

function(s){
var appendval = s+",08-05-2013";
var  arrayappend =  appendval.toString().split(","); 
Dashboards.fireChange('solddate',arrayappend); 
}

由于