Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击复选框时如何更改按钮的颜色_Javascript_Html_Css - Fatal编程技术网

Javascript 单击复选框时如何更改按钮的颜色

Javascript 单击复选框时如何更改按钮的颜色,javascript,html,css,Javascript,Html,Css,这里有一个按钮,并添加了两个复选框。我想做的是,当我点击任何复选框时,按钮的颜色应变为绿色或任何其他颜色。如果我取消选中所有框,按钮颜色应更改为灰色。请帮帮我。多谢各位 .input{ 字体大小:粗体; 边界半径:1px; 背景颜色:灰色; } 用于选择图元 使用。复选框:选中以选择选中元素[] var elems=document.querySelectorAll('.check box'); var btn=document.querySelector('.btn elem');

这里有一个按钮,并添加了两个复选框。我想做的是,当我点击任何复选框时,按钮的颜色应变为绿色或任何其他颜色。如果我取消选中所有框,按钮颜色应更改为灰色。请帮帮我。多谢各位

.input{
字体大小:粗体;
边界半径:1px;
背景颜色:灰色;
}

  • 用于选择图元

  • 使用
    。复选框:选中
    以选择
    选中
    元素[]

var elems=document.querySelectorAll('.check box');
var btn=document.querySelector('.btn elem');
[]forEach.call(元素,函数(元素){
el.addEventListener('change',function(){
var checked=document.querySelectorAll('.check-box:checked');
如果(选中。长度){
btn.style.backgroundColor='绿色';
}否则{
btn.style.backgroundColor='';
}
});
});

下面是一个仅使用纯javascript(无jquery)的示例:

var-button=document.getElementById(“mybtn”);
var chkbox=document.getElementsByClassName(“chkbox”);
函数onChangeListener(){
button.style.backgroundColor=“灰色”;
对于(变量i=0;i

稍微详细介绍一下人造丝的优秀答案,并使其更具活力。例如,可以使用数据属性指定按钮的颜色

<input type="checkbox" class="check-box" data-color="green">
<input type="checkbox" class="check-box" data-color="blue">

为了好玩,这里有一个CSS专用的解决方案:

#输入{
字体大小:粗体;
边界半径:1px;
背景颜色:灰色;
浮动:左;
}
输入:选中~#输入{
背景:绿色;
}

如果我使用多个按钮,代码应该是什么

复选框1-->按钮1

复选框2-->按钮2

        var elems = document.querySelectorAll('.check-box');
        var btn = document.querySelector('.btn-categ1');
        [].forEach.call(elems, function(el) {
          el.addEventListener('change', function() {
            var checked = document.querySelectorAll('.check-box:checked');
            if (checked.length) {
              btn.style.backgroundColor = '#A6EBF2';
            } else {
              btn.style.backgroundColor = '';
            }
          });
        });

这很好。它工作得很好。谢谢你的努力。这对我也有帮助。谢谢
        var elems = document.querySelectorAll('.check-box');
        var btn = document.querySelector('.btn-categ1');
        [].forEach.call(elems, function(el) {
          el.addEventListener('change', function() {
            var checked = document.querySelectorAll('.check-box:checked');
            if (checked.length) {
              btn.style.backgroundColor = '#A6EBF2';
            } else {
              btn.style.backgroundColor = '';
            }
          });
        });