2016-06-29 3 views
0

Ich habe eine Ajax-Suchmaske und Ajax Paginierung mit Kaminari. Ich würde das gerne in einen 'load more'-Button umwandeln, aber ich habe Probleme mit der jquery.Ruby on rails - Laden Sie mehr Knopf mit Kaminari und Suchformular. Jquery Probleme

Für das Formular und normale Seitennummerierung habe ich das in meinem index.js.erb verwendet;

$('.gig-search-list').html("<%= j render(partial: 'gigs') %>"); 

Dies ersetzt alle aktuellen Ergebnisse mit den neuen Ergebnissen aus dem Suchformular oder die nächste Seite mit dem Edelstein kaminari ausgewählt wird.


Ich möchte die ‚Last mehr‘ haben, um die Ergebnisse der unten auf der Seite hinzufügen, aber immer noch das Suchformular nach wie vor verhalten.

Mit dem Beispiel unten funktioniert die Schaltfläche "mehr laden" wie gewünscht, aber das Suchformular funktioniert überhaupt nicht.

$('.gig-search-list').append("<%= j render(partial: 'gigs') %>"); 

ich sie dann versucht, zu trennen ....

$("#gig_search_form").submit(function() { 
    $('.gig-search-list').html("<%= j render(partial: 'gigs') %>") 
      $('#map').html('<%= j render("map") %>'); 
}); 

$(".pagination").click(function(){ 
     $(".gig-search-list").append("<%= j render(partial: 'gigs') %>"); 
     $('#map').html('<%= j render("map") %>'); 
}); 

Diese Art von Arbeiten ... ein bisschen .... obwohl ich zweimal anklicken, oder senden Sie das Formular zweimal um die Funktionen zum feuern zu bringen. Der Paginierungsteil berücksichtigt die Suchparameter nicht und die Suche findet auch überall statt.


Wie kann ich die beiden Funktionen kombinieren? Verwenden Sie .html für das Suchformular und .app für die Seitenumbruch?

Antwort

1

Sie können die Bedingung in Ihrer index.js.erb überprüfen, ob Sie params [: page] haben oder nicht.

z. index.js.erb

<% if params[:page] %> #if clicked on load more, we will get params[:page] 
$('.gig-search-list').append("<%= j render(partial: 'gigs') %>"); 
<% else %> 
$('.gig-search-list').html("<%= j render(partial: 'gigs') %>"); 
<% end %> 

Wenn wir auf Paginierung wee Bedarf klicken Ergebnisse anhängen, so können wir leicht, dass die Bedingung überprüfen js.erb

+0

Ja, Sir! Das funktioniert perfekt, was für eine gute Idee. –

+0

Gut zu hören, dass es funktioniert hat !! Danke für die Annahme der Antwort – chaitanya