Comment obtenir l'identifiant de toutes les données de cases cochées à partir de datatable dans php jquery
P粉741223880
P粉741223880 2023-08-28 13:21:03
0
2
485
<p>J'utilise des cases à cocher dans toutes les lignes afin que lorsque chaque case est cochée, j'obtienne leur identifiant, tout fonctionne bien avec ce que j'ai implémenté, mais le problème est que je n'obtiens que la page du tableau de données d'ID vérifié spécifique. Cela signifie que si je coche la case pour une donnée de la page 1 et que je coche également la case pour d'autres données de la page 2, lorsque je soumets, je n'obtiens que les données de la page 2. Ce que je veux, c'est que j'obtienne les données avec les identifiants de la page 1, de la page 2, de la page 3, etc. </p> <p>C'est de là que viennent toutes mes données</p> <pre class="brush:php;toolbar:false;">@foreach($data as $key => $question_bank) <tr id="{{ $question_bank->id }}"> <td> <input type="checkbox" data-id="{{ $question_bank->id }}" class="add_check"> </td> <td>{{++$i}}</td> <td>{{ $question_bank->questionCategory->category }}</td> <td>{{$question_bank->question}}</td> ≪/tr> @endforeach <type de bouton="soumettre" id="add_to" class="mt-3 btn btn-primary float-right">Ajouter</bouton></pre> <p>Voici ma partie jquery</p> <pre class="brush:php;toolbar:false;">$(document).on('click','#add_to',function(e){ e.preventDefault(); var questionids_arr = []; $("input:checkbox[class=add_check]:checked").each(function () { questionids_arr.push($(this).attr('data-id')); }); console.log(questionids_arr); renvoie faux ; });</pre></p>
P粉741223880
P粉741223880

répondre à tous(2)
P粉573809727

Vous devez enregistrer l'identifiant sélectionné dans un champ masqué du formulaire.

<input type="hidden" id="selectedValues" name="selectedValues">

Ajoutez la case onclick() et ajoutez la fonction suivante à JavaScript.

function addRemove(id){
  // const selectedIds = $('#selectedValues').val();
  var selectedIds = JSON.parse($('#selectedValues').val());
  
  console.log(selectedIds);
  if($('#' + id).is(":checked")){
    //Add if id not there in array
    selectedIds.push(id);
  }else{
    //Remove from the array
    selectedIds = selectedIds.filter(function(item) {
        return item !== id
    })
  }
  
   $("#selectedValues").val(JSON.stringify(selectedIds));
   console.log(selectedIds)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<input type="checkbox" id="vehicle1" name="vehicle1" value="Bike" onclick="addRemove('vehicle1')"> Bike
<input type="checkbox" id="vehicle2" name="vehicle2" value="Car" onclick="addRemove('vehicle2')"> Car


<input type="hidden" name="selectedValues" id="selectedValues" value="[]">
P粉957723124

Je pense que vous souhaitez ajouter ou supprimer des éléments dans le tableau et il peut être utilisé pour la pagination du tableau de données. J'ai trouvé une solution qui fonctionne, vous pouvez vérifier si cela fonctionne pour vous Les cases à cocher dans DataTables doivent capturer toutes les valeurs cochées

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal