根据复选框或切换选择在 Javascript 功能之间切换 (Tableau API)
Switch between Javascript functions based on Checkbox or Toggle selection (Tableau API)
我想使用复选框或切换复选框在两个 Tableau Javascript API 函数之间切换。
结果好坏参半。单个过滤器将在复选框中添加和删除。将多个值应用于过滤器时(例如,(filterName,[Value 1,Value 2],ADD)),它将不起作用。
它会运行当"connected"一个复选框拨动开关时第一个动作,但它不会切换回来return其他功能。
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,就在此处 if($('#').is(":checked"))
函数 switchMainViz()
应该是if($('#'+YourId).is(":checked"));
我想使用复选框或切换复选框在两个 Tableau Javascript API 函数之间切换。
结果好坏参半。单个过滤器将在复选框中添加和删除。将多个值应用于过滤器时(例如,(filterName,[Value 1,Value 2],ADD)),它将不起作用。
它会运行当"connected"一个复选框拨动开关时第一个动作,但它不会切换回来return其他功能。
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,就在此处 if($('#').is(":checked"))
函数 switchMainViz()
应该是if($('#'+YourId).is(":checked"));