我有以下代码,任何人都可以帮助我:
$(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());
}
我正在尝试在实时服务器上获取tableau仪表板的所选参数的值,但没有获取该值。实际上参数对象工作正常但不了解如何获得价值。
答案 0 :(得分:1)
你有正确的活动布线。在onParameterValueChange
函数中,您需要调用getParameterAsync
并使用返回的promise对象来获取实际参数值。
请参阅此示例:
function onParameterValueChange(e){
e.getParameterAsync().then(function(param){
alert(''+param.getName()
+' of Type '+param.getDataType()
+' has value '+param.getCurrentValue().formattedValue);
});
}