Получить текст td и отправить его на контроллер с помощью jQuery - PullRequest
1 голос
/ 12 июня 2019

Я хочу получить значение td из table. В таблице есть флажок и моя цель - получить эти значения и отправить их на контроллер для вставки всех.

<table class="table table-bordered" id="mytable">
  <tr>
    <th>Archive</th>
    <th><input type="checkbox" id="check_all"></th>
    <th>S.No.</th>
    <th>matricule</th>
    <th>nom & prenom</th>
    <th>salaire net</th>
    <th>nbre de jour </th>
    <th>prime</th>
  </tr>
  @if($salaries->count()) @foreach($salaries as $key => $salarie)
    <tr id="tr_{{$salarie->id}}">
      <td>archive</td>
      <td><input type="checkbox" class="checkbox" data-id="{{$salarie->id}}"></td>
      <td>{{ ++$key }}</td>
      <td>{{ $salarie->matricule }}</td>
      <td>{{ $salarie->nom }} {{ $salarie->prenom }}</td>
      <td>{{ $salarie->salairenet }}</td>
      <td><input type="text" name="nbreJ" class="form-control" value="{{$data['nbr']}}"></td>
      <td><input type="text" name="prime" class="form-control" value="0"></td>
    </tr>
  @endforeach @endif
</table>
$(document).ready(function() {
  $('#check_all').on('click', function(e) {
    if ($(this).is(':checked', true)) {
      $(".checkbox").prop('checked', true);
    } else {
      $(".checkbox").prop('checked', false);
    }
  });

  $('.checkbox').on('click', function() {
    if ($('.checkbox:checked').length == $('.checkbox').length) {
      $('#check_all').prop('checked', true);
    } else {
      $('#check_all').prop('checked', false);
    }
  });

  $('.add-all').on('click', function(e) {
    var idsArr = [];
    $(".checkbox:checked").each(function() {
      idsArr.push($(this).attr('data-id'));
    });
    if (idsArr.length <= 0) {
      alert("Please select atleast one record to update.");
    } else {
      alert(idsArr);
    }
  });
});

1 Ответ

0 голосов
/ 12 июня 2019

Я дал значение классу. Затем я получаю все проверенные данные. Тогда я получаю родную сестру, у которой есть данный класс. Получите это значение и сделайте сумму в конце.

$('.table').on('click', function() {
  // Get all checked boxes
  var allChecked = $('.checkbox:checked');
  
  // Prepare the result
  var allValues = [];
  var allNames = [];
  
  // Loop every checkbox
  for (var i = 0; i < allChecked.length; i++) {
    
    // Get the siblings td with class 'salaireValue'
    var currentValue = $(allChecked[i]).parent().siblings('.salaireValue')[0];
    var currentName = $(allChecked[i]).parent().siblings('.name')[0];
    
    // Push to arrays
    allValues.push(parseInt($(currentValue)[0].innerText))
    allNames.push($(currentName)[0].innerText)
    
  }

  console.log(allValues);
  console.log(allNames);
  
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="table table-bordered" id="mytable">
  <tr>
    <th>Value</th>
    <th>Checkbox</th>
  </tr>
    <tr>
      <td class="salaireValue">1</td>
      <td class="name">John</td>
      <td><input type="checkbox" class="checkbox"></td>
    </tr>
    <tr>
      <td class="salaireValue">2</td>
      <td class="name">Louise</td>
      <td><input type="checkbox" class="checkbox"></td>
    </tr>
     <tr>
      <td class="salaireValue">5</td>
      <td class="name">Frank</td>
      <td><input type="checkbox" class="checkbox"></td>
    </tr>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...