2017-09-27 8 views
0

私は、コードを次していることは誰もが私がライブサーバー上のタブローダッシュボードの選択したパラメータの値を取得しようとしています。このJavaScript 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()); 
} 

時に私を助けることができます価値は得られません。実際にはパラメータオブジェクトは正常に動作していますが、値を取得する方法を理解していません。

答えて

0

イベントの配線が正しく行われました。 onParameterValueChange関数では、getParameterAsyncを呼び出し、返された約束オブジェクトを使用して実際のパラメータ値を取得する必要があります。

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

このサンプルを参照してください。