javascript - 基于之前选择的输入的可观察的js输入选项

标签 javascript input quarto observablehq

我对可观察的js(或者更确切地说任何与js/html相关的东西)还很陌生,所以这可能是一个非常愚蠢的问题,我可能没有掌握一些核心概念。我将非常感谢任何有关我出错的提示。

我正在尝试构建两个输入,以便查看者可以首先选择他们想要检查的数据集,然后根据他们的数据集选择决定他们感兴趣的变量。我无法获得第二个方面尽管工作。

这是我到目前为止编写的代码,当我尝试使用 const 基于数据集定义选项时出现错误。

viewof dataset = Inputs.select(
  ["Datset 1", "Dataset 2", "Dataset 3"], 
  {label: "Which Dataset would you like to use?", value: "dataset"}
)

viewof variables = Inputs.select(
  [], 
  {label: "Which Variable would you like to inspect?", value: "variable"}
)

{const datasetOptions = 
  "Dataset 1": ["a", "b"],
  "Dataset 2": ["c", "d"],
  "Dataset 3": ["c", "f", "g"]
}

dataset.on("change", () => {
  variables.options = datasetOptions[dataset].options;
  variables.value = variables.options[0];
});

这是在 RStudio 的四开本文档中用 ojs (@observablehq) 编写的。

如果有任何关于我应该寻找解决方案的提示,我将不胜感激!我真的很感激!

最佳答案

要在 Observable 中工作,您必须声明您的 datasetOptions 对象,如下所示:

 datasetOptions = ({
  "Dataset 1": ["a", "b"],
  "Dataset 2": ["c", "d"],
  "Dataset 3": ["c", "f", "g"]
})

您可以在此处详细了解 Observable JavaScript 的语法与普通 JavaScript 的不同之处:https://observablehq.com/@observablehq/observable-javascript .

此外,OJS 语言无法提供 Observable 网站的某些功能。如需有关四开 OJS 的帮助,此论坛可能会有所帮助:https://github.com/quarto-dev/quarto-cli/discussions/categories/q-a

关于javascript - 基于之前选择的输入的可观察的js输入选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76210733/

相关文章:

html - 如果目标输入嵌套在标签内,HTML 标签中是否需要 "for"属性?

html - 更改四开文档中 block 输出的颜色和背景

javascript - 控制台错误 : Uncaught TypeError: Cannot read property 'top' of undefined

java - 有什么方法可以查看网站上的隐藏内容或隐藏的云端链接?

javascript - 单击链接按钮时显示 Div

javascript - 为什么没有主流的 JavaScript 专业认证?

HTML改变表单中输入框的高度

javascript - 无法从 Bootstrap 4 中的自定义输入文件读取未定义的属性 'path'