Как получить Checked длину флажков - PullRequest
1 голос
/ 01 июля 2019

Попытка получить проверенную длину флажков, но получение 0, пока все они проверены.

У меня есть таблица, и в ней есть строки с флажками. Каждый флажок типа ввода имеет имя класса «check».

Наличие главного флажка за пределами таблицы, который отвечает за выбор / отмена выбора всех флажков внутри таблицы.

Теперь я хочу посмотреть, установлен ли хотя бы один флажок, нажав кнопку.

var allCheckBoxes = $('.check :checkbox:checked');
console.log(allCheckBoxes.length);

Он получает только ноль: (

            <table id="checkboxTable" class="table table-bordered">
            <tbody>
                <tr>
                    <th>Table name</th>
                    <th>Gen A</th>
                    <th>Gen B</th>
                    <th>Actions</th>
                </tr>

            @foreach($data as $k => $table)
            <tr class="trcheck" id="{{$table}}">
                <td>{{$table}}</td>
                <td><input type="checkbox" name="{{$table}}[]" value="controller" class="check"></td>
                <td><input type="checkbox" name="{{$table}}[]" value="model" class="check"></td>
                <td>
                    <button onclick="checkbox_gen_object(this);" id="{{'genbtn'.$i}}" class="genSingle btn btn-primary">
                        Generate
                    </button>
                </td>

            </tr>

            @endforeach

        </tbody>
    </table>

Ответы [ 2 ]

1 голос
/ 01 июля 2019

function myfunction(){
var mylength=$(".a").filter(':checked').length;
alert(mylength);
$("#leng").val(mylength);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  
  
  length: <input type="text" id="leng" name="user"><br>
  I have a bike: <input type="checkbox" class="a" name="vehicle" value="Bike"><br>
  I have a car: <input type="checkbox" class="a" name="vehicle" value="Car"><br>
  I have an airplane: <input type="checkbox" class="a" name="vehicle" value="Airplane"><br>
  <input id="btn" onclick="myfunction()" type="button" value="test">
0 голосов
/ 01 июля 2019

Вам необходимо удалить пробел в $('.check :checkbox:checked'), поскольку ваш объект с классом check является вашим флажком;

Вам также не нужен селектор :checkbox, просто используйте $('.check:checked').length

Рабочая демоверсия

function checkbox_gen_object(obj){
  console.log($('.check:checked').length)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="checkboxTable" class="table table-bordered">
  <tbody>
    <tr>
      <th>Table name</th>
      <th>Gen A</th>
      <th>Gen B</th>
      <th>Actions</th>
    </tr>

    <tr class="trcheck" id="{{$table}}">
      <td>{{$table}}</td>
      <td><input type="checkbox" name="{{$table}}[]" value="controller" class="check"></td>
      <td><input type="checkbox" name="{{$table}}[]" value="model" class="check"></td>
      <td>
        <button onclick="checkbox_gen_object(this);" id="{{'genbtn'.$i}}" class="genSingle btn btn-primary">
                        Generate
                    </button>
      </td>

    </tr>

    <tr class="trcheck" id="{{$table}}">
      <td>{{$table}}</td>
      <td><input type="checkbox" name="{{$table}}[]" value="controller" class="check"></td>
      <td><input type="checkbox" name="{{$table}}[]" value="model" class="check"></td>
      <td>
        <button onclick="checkbox_gen_object(this);" id="{{'genbtn'.$i}}" class="genSingle btn btn-primary">
                        Generate
                    </button>
      </td>

    </tr>

  </tbody>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...