【问题标题】:jQuery if/else statements using 2 checkboxes使用 2 个复选框的 jQuery if/else 语句
【发布时间】: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


【解决方案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']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-02
    • 2013-09-25
    相关资源
    最近更新 更多