首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用2个复选框的jQuery if/else语句

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

Stack Overflow用户
提问于 2018-08-15 23:13:35
回答 1查看 742关注 0票数 0

我正在构建一个图表,它需要根据两个复选框来更改值。我有两个数据集,所以我为每个数据集创建了4个值。到目前为止,这就是我所拥有的:

HMTL /复选框:

代码语言:javascript
复制
<input id="toggle-1" type="checkbox"/>

<input id="toggle-2" type="checkbox"/>

jQuery条件:

代码语言:javascript
复制
$("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:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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

这说得通吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-16 06:01:56

我不确定我是否正确地理解了你的问题,但是这样的事情对我有帮助吗?

代码语言:javascript
复制
$("#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']是不必要的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51867654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档