[英]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.