Es ist mir gelungen, die Paginierung für meine AJAX-Filter zu erstellen. Die einzige Sache ist, dass es zurückgesetzt wird, nachdem ich auf einen Link geklickt habe. Ich brauche einen Weg für die Seitennumerierung, um sich an die Suche zu erinnern, die vorher angewendet wurde. Ich kann die korrekte Anzahl an Seiten anzeigen, die bei der Suche angezeigt werden. Das einzige Problem dabei ist, dass es zurückgesetzt wird, wenn ich auf den Seitenumbruch-Link klicke.Laravel Ergebnisse an Paginierung anhängen
-Code Ich bin mit:
Blade:
@foreach($launchsitesatellite as $satellite)
<div id="main-data">
<div class="table-row" id="launchsatdisplay">
{{$satellite->satname}}
</div>
</div>
@endforeach
{{$launchsitesatellite->links()}}
AJAX Aufruf zur Paginierung:
$(window).on('hashchange',function(){
page = window.location.hash.replace('#','');
getObjects(page);
});
$(document).on('click','.pagination a', function(e){
e.preventDefault();
var page = $(this).attr('href').split('page=')[1];
location.hash = page;
});
function getObjects(page){
$('#default').remove();
$.ajax({
url: '/data/{{$launchsitename->site_code}}?page=' + page
}).done(function(data){
$('#data-holder').html(data);
});
};
PHP Funktion:
AJAX Search/Filter:
$("#apply").click(function() {
$country=$('#filter-country').val();
$type=$('#filter-type').val();
$year=$('#filter-year').val();
$.ajax({
type: "GET",
url: "/data/{{$launchsitename->site_code}}",
data: {'country':$country, 'object_type':$type, 'launch':$year},
success: function(data) {
$('#data-holder').html(data);
});
});
TL; DR Wie würden Sie verhindern Paginierung meine AJAX-Suche/Filter Zurücksetzen, wenn ich auf Seite 2 gehen, zum Beispiel?
Vielen Dank für Ihre Antwort! Würde das also in meinem AJAX-Aufruf für die Paginierung oder die eigentlichen Filter gehen? –
Dies ist ein separater Code, der Ihre Filter zwischen den Seitenaktualisierungen synchronisieren soll. –
Ich habe die Antwort aktualisiert, um eine bessere Vorstellung davon zu geben, wo der Code leben würde. –