【发布时间】:2019-01-22 20:37:23
【问题描述】:
我正在构建一个需要根据两个复选框更改值的图表。我有 2 个数据集,因此我为每个数据集创建了 4 个值。这是我目前所拥有的:
HMTL / 复选框:
<input id="toggle-1" type="checkbox"/>
<input id="toggle-2" type="checkbox"/>
jQuery 条件:
$("input#toggle-1[type='checkbox']").click(function (event) {
var data = chart2.config.data;
if ($(this).is(':checked')) {
data.datasets[0].data = x;
data.datasets[1].data = x;
} else {
data.datasets[0].data = x;
data.datasets[1].data = x;
}
chart2.update();
});
这将是一个复选框toggle-1 的设置,假设我将相应地用每个变量替换“x”。
那么如何实现第二个复选框的条件呢?
我正在使用 2 个数据集,每个数据集有 4 个变体/组合:
数据集 1:
Toggle-1(on) + Toggle-2(on) = x
Toggle-1(off) + Toggle-2(on) = x
Toggle-1(on) + Toggle-2(off) = x
Toggle-1(off) + Toggle-2(off) = x
数据集 2:
Toggle-1(on) + Toggle-2(on) = x
Toggle-1(off) + Toggle-2(on) = x
Toggle-1(on) + Toggle-2(off) = x
Toggle-1(off) + Toggle-2(off) = x
这有意义吗?
【问题讨论】:
-
您想避免重复(重复的相似)代码吗?
-
@LouysPatriceBessette 很抱歉,但我想我不明白你的问题。我想用 2 个复选框来完成这项工作。
-
添加更多代码,这样我们就无能为力了。在你的 if/else 中,你做同样的事情,当你使用 # 作为 id 时,你不需要元素标记名和类型
-
也许这会有所帮助? jsfiddle.net/kymvdz14
-
@mark.hch 这几乎就是我现在所拥有的。我需要两个复选框,假设每个复选框都有 2 个值(选中/未选中)。所以每个数据集有4种组合。
标签: jquery if-statement checkbox charts conditional-statements