我正在构建一个图表,它需要根据两个复选框来更改值。我有两个数据集,所以我为每个数据集创建了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();
});假设我相应地将“x”替换为每个变量,这将是只设置一个复选框toggle-1。
那么如何实现第二个复选框的条件呢?
我使用两个数据集,每个数据集有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这说得通吗?
发布于 2018-08-16 06:01:56
我不确定我是否正确地理解了你的问题,但是这样的事情对我有帮助吗?
$("#toggle-1, #toggle-2").click(function (event) {
var chk1 = $("#toggle-1");
var chk2 = $("#toggle-2");
var data1, data2;
if (chk1.is(':checked')) {
if (chk2.is(':checked')) {
data1 = x;
data2 = x;
} else {
data1 = xx;
data2 = xx;
}
} else {
if (chk2.is(':checked')) {
data1 = xxx;
data2 = xxx;
} else {
data1 = xxxx;
data2 = xxxx;
}
}
var data = chart2.config.data;
data.datasets[0].data = data1;
data.datasets[1].data = data2;
chart2.update();
});由于您使用的是id选择器#,所以它应该是唯一的,因此input和[type='checkbox']是不必要的。
https://stackoverflow.com/questions/51867654
复制相似问题