So erhalten Sie die ID aller aktivierten Kontrollkästchendaten aus der Datentabelle in PHP JQuery
P粉741223880
P粉741223880 2023-08-28 13:21:03
0
2
520
<p>Ich verwende Kontrollkästchen in allen Zeilen, sodass ich beim Aktivieren jedes Kontrollkästchens deren ID erhalte. Mit dem, was ich implementiert habe, funktioniert alles einwandfrei, aber das Problem besteht darin, dass ich nur die Seite der spezifischen überprüften ID-Datentabelle erhalte. Das heißt, wenn ich das Kontrollkästchen für Daten von Seite 1 und auch für andere Daten von Seite 2 aktiviere, erhalte ich beim Absenden nur die Daten von Seite 2. Was ich möchte ist, dass ich die Daten mit IDs von Seite1, Seite2, Seite3 usw. erhalten soll. </p> <p>Hier stammen alle meine Daten</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 }}" </td> <td>{{++$i}}</td> <td>{{ $question_bank->questionCategory->category }}</td> <td>{{$question_bank->question}}</td> </tr> @endforeach <button type="submit" id="add_to" class="mt-3 btn btn-primary float-right">Add</button></pre> <p>Das ist mein JQuery-Teil</p> <pre class="brush:php;toolbar:false;">$(document).on('click','#add_to',function(e){ e.preventDefault(); var questionsids_arr = []; $("input:checkbox[class=add_check]:checked").each(function () { questionsids_arr.push($(this).attr('data-id')); }); console.log(questionids_arr); falsch zurückgeben; });</pre></p>
P粉741223880
P粉741223880

Antworte allen(2)
P粉573809727

您需要将选中的 ID 保存到表单中的隐藏字段中。

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

添加 onclick() 复选框并将以下函数添加到 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

我认为您希望在数组中添加或删除项目,并且它可以用于数据表的分页。我找到了一个可行的解决方案,您可以检查它是否适合您 DataTables中的复选框需要捕获所有选中的值

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage