Heim  >  Fragen und Antworten  >  Hauptteil

So erhalten Sie die ID aller aktivierten Kontrollkästchendaten aus der Datentabelle in PHP JQuery

<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粉741223880P粉741223880441 Tage vor476

Antworte allen(2)Ich werde antworten

  • P粉573809727

    P粉5738097272023-08-29 11:58:39

    您需要将选中的 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="[]">

    Antwort
    0
  • P粉957723124

    P粉9577231242023-08-29 09:42:30

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

    Antwort
    0
  • StornierenAntwort