2016-12-30 2 views
1

Ich verwende JQuery-Databases. Ich möchte hinzufügen alle Spalte mit Kontrollkästchen, so dass, wenn ich auf "Alles auswählen" Kontrollkästchen alle Kontrollkästchen auf dieser Seite ausgewählt werden sollte.Aktivieren Sie alle Kontrollkästchen funktioniert nicht auf der nächsten Seite in JQuery-Datatabellen

Ich verwende den folgenden Code ein:

<table id="myTable" cellspacing="0" width="100%"> 
    <thead> 
     <tr> 
      <th> Name</th> 
      <th> Type</th> 
      <th> Details</th> 
      <th>Select <input type="checkbox" name="select_all" value="1" id="select-all"></th> 
     </tr> 
    </thead> 
    <tbody> 
     <?php foreach ($test as $data) { ?> 
     <tr> 
      <td><?php echo $data->name; ?></td> 
      <td><?php echo $data->type; ?></td> 
      <td><a href="/details">view details</a></td> 
      <td><input type="checkbox" name="manuf[]" class="sub_chk" data-id="<?php echo $data->id; ?>"></td> 


     </tr> 
     <?php } ?> 
    </tbody> 
</table> 
<script> 
$(document).ready(function(){ 
$('#myTable').DataTable(); 
}); 

$('#select-all').on('click', function(e) { 
if($(this).is(':checked',true)) 
{ 
    $(".sub_chk").prop('checked', true); 
} 
else 
{ 
    $(".sub_chk").prop('checked',false); 
} 
}); 
</script> 

Der obige Code funktioniert für die erste Seite der Datentabelle, aber wenn ich die zweite Seite wählen und wenn ich ‚Alles auswählen‘ Checkbox auswählen, dauert es mich die erste Seite anstelle der Auswahl der Checkboxen auf der zweiten Seite.

Gibt es dafür eine Lösung?

Antwort

1

Working example

Das Problem von der Art kommt, sollten Sie die Art in der th dass die SELECT alle Kontrollkästchen enthalten deaktivieren.

Hoffe, das hilft.

+1

Ja, du hast recht, mein Fehler. Ich wusste nicht, dass der Inhalt auf der Seite unter Last gelöscht wurde, ich dachte, es käme von AJAX, wie es wirklich sein sollte, wenn man Paging macht. –

+0

@Zakaria Acharki Es funktioniert nicht .. lass es mich noch einmal erklären Es gibt eine Jquery Datentabelle mit allen Daten und eine Spalte mit Checkboxen und seine Kopfzeile hat ein anderes Kontrollkästchen (um alle Checkboxen auf dieser Seite zu markieren). Wenn ich auf der ersten Seite bin, klicke ich auf Alle auswählen Alle Zeilen werden überprüft. Das ist richtig, aber wenn ich auf die nächste Seite der Datentabelle gehe, bleibt der Header select all checkbox ausgewählt. Wenn ich es abnehme, bringt es mich auf die erste Seite von Datatable, anstatt die Checkboxen der zweiten Seite auszuwählen. – san

+0

Ich denke, dass das Problem von der Sorte kommt, versuche, die Sortierung auf dem 'th' zu deaktivieren, das das' select hat -all' checkbox, http://jsfiddle.net/UvjnT/1475/ –

0

Ich hoffe, dieser Link hilft Ihnen bei Ihren Problemen. dank

http://www.gyrocode.com/articles/jquery-datatables-how-to-add-a-checkbox-column/

+0

Sie haben einen ausreichenden Ruf, um ein gewisses Maß an Vertrautheit mit der Website und ihre Erwartungen, die answe rs in sich geschlossen sein und nicht vollständig auf einen Link zu einer externen Site angewiesen sein. Bitte fügen Sie die relevanten Teile dieser Website zusammengefasst in Ihre Antwort ein und zeigen Sie, wie und warum sie für die spezifische Frage relevant ist, die Sie beantworten möchten. –

Verwandte Themen