Как я могу установить флажок в зависимости от класса родительского узла? - PullRequest
1 голос
/ 30 января 2020

У меня есть таблица с флажками в качестве значения в одном из столбцов. Определенные строки имеют специфицированный c класс ignore, и я хочу установить флажки, у которых нет этого класса в их вмещающей строке. Фиктивный пример ниже:

<table>
  <tbody>
    <tr class="ignore">
      <td><input type="checkbox" name="table_select" value="1"></td>
    </tr>
    <tr>
      <td><input type="checkbox" name="table_select" value="2"></td>
    </tr>
    <tr>
      <td><input type="checkbox" name="table_select" value="3"></td>
    </tr>
  </tbody>
</table>

Так что я бы хотел поставить галочку в строках 2 и 3. Сейчас я использую общий селектор :checkbox, но не уверен, как объединить parent() и .class до go вверх по иерархии, затем обратно вниз.

1 Ответ

5 голосов
/ 30 января 2020

Примерно так должно работать:

$('tr:not(.ignore) :checkbox').prop('checked', true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr class="ignore">
      <td><input type="checkbox" name="table_select" value="1"></td>
    </tr>
    <tr>
      <td><input type="checkbox" name="table_select" value="2"></td>
    </tr>
    <tr>
      <td><input type="checkbox" name="table_select" value="3"></td>
    </tr>
  </tbody>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...