Таблица с флажком ввода флажок / снять флажок - PullRequest
0 голосов
/ 20 мая 2018

У меня проблема, когда проверка в прилагаемой таблице со стилем цвета работает очень хорошо, за исключением того, что когда я нажимаю первый, любой флажок не меняет стиль цвета.

Я вставляю код и использую только 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='';
        }
    }
}

здесь

Вы можете мне помочь ?.спасибо.

1 Ответ

0 голосов
/ 20 мая 2018

Я думаю, вы должны написать такую ​​функцию

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...