我正在构建一个图表,该图表需要根据两个复选框来更改值。我有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
这有意义吗?
答案 0 :(得分:1)
不确定我是否正确理解了您的问题,但是这种方法是否有帮助?
$("#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']
是不必要的。