【问题标题】:Table with input checkbox check/Uncheck带有输入复选框选中/取消选中的表格
【发布时间】:2018-05-25 02:37:43
【问题描述】:

我在使用颜色样式检查随附表格时遇到问题,效果很好,除非我单击第一个复选框不会更改颜色样式。

我粘贴代码,我只使用纯 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='';
        }
    }
}

这里

你能帮帮我吗? 谢谢。

【问题讨论】:

    标签: javascript checkbox


    【解决方案1】:

    我觉得你一定要这样写函数

    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>

    【讨论】:

    • 非常感谢!.. 可以接受。
    猜你喜欢
    • 2013-10-17
    • 2013-11-04
    • 2018-09-11
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多