简体   繁体   English

带输入复选框的表选中/取消选中

[英]Table with input checkbox check/Uncheck

I have a problem when doing the check in the accompanying table with color style works very well except when i click the first any checkbox does not change color style. 我在附表中用颜色样式进行检查时遇到问题,除非我单击第一个复选框,否则它不会更改颜色样式。

I paste the code and i use only javascript pure. 我粘贴代码,并且仅使用纯JavaScript。

enter function valid(chk){
    var trckk = document.getElementsByTagName('tr');
    var parent = chk.parentNode.parentNode;
    var chkcomite = document.getElementsByName('idcom');
    var len = chkcomite.length;
    for(var i=0;i<len;i++){
        if(chkcomite[i].checked === true){
            if(chkcomite[i]!=chk && chk.checked){
                chkcomite[i].checked = false;
                for(var i=0;i<trckk.length;i++){
                    trckk[i].style.background='';
                    trckk[i].style.color='';
                }
            }
            parent.style.background='#EC1C24';
            parent.style.color='#FFF';  
        }else{
            parent.style.background='';
            parent.style.color='';
        }
    }
}

here 这里

Can you help me?. 你能帮助我吗?。 thanks. 谢谢。

I think you must write the function like this 我认为您必须编写这样的函数

 function valid(chk) { var parent = chk.parentNode.parentNode; if (!chk.checked) { parent.style.background = ""; parent.style.color = ""; return; } var trckk = document.getElementsByTagName("tr"); var chkcomite = document.getElementsByName("idcom"); var len = chkcomite.length; for (var i = 0; i < trckk.length; i++) { trckk[i].style.background = ""; trckk[i].style.color = ""; } for (var i = 0; i < len; i++) { chkcomite[i].checked = false; chkcomite[i].parentNode.parentNode.style.background = ""; chkcomite[i].parentNode.parentNode.style.color = ""; } chk.checked = true; parent.style.background = "#EC1C24"; parent.style.color = "#FFF"; } 
 <table> <tr> <td> row 1 </td> <td> <input onchange="valid(this)" name="idcom" type='checkbox'> </td> </tr> <tr> <td> row 2 </td> <td> <input onchange="valid(this)" name="idcom" type='checkbox'> </td> </tr> <tr> <td> row 3 </td> <td> <input onchange="valid(this)" name="idcom" type='checkbox'> </td> </tr> </table> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM