Pentaho - 如何获得所选组件的索引?

时间:2016-03-01 00:46:32

标签: javascript pentaho dashboard pentaho-cde

我尝试使用Select Component中的CDE Dashboard来获取所选元素的索引。

非常简单:

SELECT id, username FROM table1      
-- this feeds the Select Component

我有"价值为ID"设置为FALSE,因此下拉列表会显示username,并会返回ID Parameter Select Component字段中定义的ID

我需要编写一些JavaScript代码来从所选选项中读取这两个值(usernamethis.selectedIndex),并且我已经使用-1进行了尝试,但它始终返回{{1 }}

如果我可以获取索引,我可以迭代resultSet对象并获取所有列。

也试过JQuery,但我不是专家,虽然我试了一下:

$( "#my_select_component" ).val()

它没有用。

如果有更简单的方法来实现这一目标,我将非常感谢并提供反馈。

2 个答案:

答案 0 :(得分:2)

我最终得到了这个:

在my_select_component的PreChange中:

function f(){

$("#my_select_component").on("change", function() {
    Dashboards.setParameter(
        "my_parameter_to_update_titles",
        $(this).find(":selected")[0].innerText
    );
});
} 

答案 1 :(得分:0)

我使用此代码获取所选项目下拉列表的id

function f(value) {
    Dashboards.log(value); 
    return value;
}

代码位于Pre Change的{​​{1}}属性中(请注意Select Component属性是Pre ChangeAdvanced Properties视图的一部分)。

在更改组件之前触发CDE代码。