簡體   English   中英

根據復選框或切換選擇在Javascript函數之間切換(Tableau API)

[英]Switch between Javascript functions based on Checkbox or Toggle selection (Tableau API)

我想使用復選框或切換復選框在兩個Tableau Javascript API函數之間進行切換。

結果好壞參半。 單個過濾器將在一個復選框中添加和刪除。 將多個值應用於過濾器(例如(filterName,[Value 1,Value 2],ADD))時,它將不起作用。

當“連接”到復選框切換開關時,它將運行第一個動作,但不會切換回去並返回其他功能。

function filterMainViz(filterName, values) {
    var sheet = mainViz.getWorkbook().getActiveSheet();
    var updateType;
    if($('#'+values).is(":checked"))    {
        updateType = "ADD";
    } else {
        updateType = "REMOVE";
    }
    worksheetArray = sheet.getWorksheets();
    for (var i = 0; i < worksheetArray.length; i++) {
        worksheetArray[i].applyFilterAsync(filterName, values, updateType);
    }
} 

當我嘗試應用此方法在兩個功能之間切換時,出現類似的問題。 它將運行第一個動作(選中或切換),但不會切換回去或運行第二個功能。

function switchMainViz() {
    var sheet = mainViz.getWorkbook().getActiveSheet();
    var updateType;
    if($('#').is(":checked"))    {
        chartPercent();
    } else {
        chartAmount();
    }
}

原始的chartPerce()是

function chartPercent() {

    mainWorkbook = mainViz.getWorkbook();
    // Set to Detail to Percent
    mainWorkbook.changeParameterValueAsync("Amount or Percent", "Percent").then(function () {
        alertOrConsole("'Chart Type' parameter set to Percent");
    });
}

原始的chartAmount()是

function chartAmount() {
    mainWorkbook = mainViz.getWorkbook();
    // Set to Detail to Amount
    mainWorkbook.changeParameterValueAsync("Amount or Percent", "Amount").then(function () {
        alertOrConsole("'Chart type' parameter set to Amount");
    });
}

您在jquery選擇器中缺少ID,就在函數switchMainViz() if($('#').is(":checked")) switchMainViz()

應該像if($('#'+YourId).is(":checked"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM