javascript - 如何在 Tableau Javascript API 中的参数更改事件中获取所选参数的值

标签 javascript dom-events tableau-api

我有以下代码,任何人都可以帮助我:

  $(document).ready( 
    function(){     
        viz = loadReport('<?php echo $url; ?>', 'viz', $(window).height()-$('#viz').offset().top-10, '100%','<?php echo ($login->hide_toolbar==1?true:false); ?>','<?php echo ($login->hide_tabs==1?true:false); ?>', function(){
            viz.addEventListener(tableau.TableauEventName.TAB_SWITCH, onTabSwitch);
            viz.addEventListener(tableau.TableauEventName.PARAMETER_VALUE_CHANGE, onParameterValueChange);
            prepareSavedViewState();
        });

    }
);

 function onParameterValueChange(e){
    //e.preventDefault();
    //alert(e.getEventName());
    //alert(e.getParameterName());
    //alert(e.getParameterName().getCurrentValue());
    //alert(e.getCurrentValue());
    //alert(e.Parameter.getCurrentValue());
    //alert(Parameter.getCurrentValue());
    alert(e.getParameterAsync().getCurrentValue());
}

我正在尝试获取实时服务器上画面仪表板的选定参数的值,但未获取该值。实际上参数对象工作正常但不理解如何获取值。

最佳答案

您正确地连接了事件。在您的 onParameterValueChange 函数中,您需要调用 getParameterAsync 并使用返回的 promise 对象来获取实际参数值。

查看此示例:

function onParameterValueChange(e){
   e.getParameterAsync().then(function(param){
      alert(''+param.getName()
              +' of Type '+param.getDataType()
              +' has value '+param.getCurrentValue().formattedValue);
   });
}

关于javascript - 如何在 Tableau Javascript API 中的参数更改事件中获取所选参数的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46445162/

相关文章:

javascript - 粗箭头中的词法 this 上下文

javascript - onblur 执行错误

javascript - 如何修复此 JQuery 函数以获取被单击元素的父 li 元素的 data-value 值?

java.lang.ClassCastException : java. lang.String 无法在 tableau 中转换为 java.lang.Integer?

python - 通过python将数据推送到谷歌电子表格的最快方法是什么

javascript - 将对象设置为 cookie

javascript - 有没有通用的方法来 "close"一个 <select> 下拉菜单(不是 .blur() )?

javascript - 不工作 : <form onsubmit ="alert(event.shiftKey)"> on Javascript

command-line - 通过 tabcmd 在 tableau 上发布报告

javascript - 以多步骤形式使用angularJS进行验证