jQuery if / else语句,使用2个复选框

时间:2018-08-15 23:13:36

标签: jquery if-statement checkbox charts conditional-statements

我正在构建一个图表,该图表需要根据两个复选框来更改值。我有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

这有意义吗?

1 个答案:

答案 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']是不必要的。