2017-09-15 2 views
0

Ich versuche, eine Liste mit Ajax-Anrufen zu verwalten, beim ersten Laden ist alles in Ordnung, da die Such-Taste den Ajax-Aufruf macht, der die erste Seite der Ergebnisse lädt. Problem ist, wenn ich den PagedListPager erstelle, ruft er die Kontrollerfunktion mit verursacht die Seite zurück und die Resultate, um zu verschwinden.Kann ich einen PagedListPager erstellen, der keine Funktion aufruft

Also, was ich tun möchte ist das Erstellen der PagedListPager als nur Schaltflächen ohne Aktionen, und behandeln Sie die Klicks auf diese Schaltflächen mit Javascript. Kennt jemand einen Weg, darüber zu gehen ??

Antwort

0

Ich konnte mit dem PagedListPager keine Lösung dafür finden. Die PagedListPager schafft eine ungeordnete Liste, die ich mit einem leeren Link wie so in der Ansicht neu:

<a href="">/</a> 

Dies ist nützlich, weil sie die Stile unterhält auf andere PagedLists auf dem site.Then von Javascript verwendet, außer Kraft setzen die Klicken Sie auf Ereignis, wie folgt:

$(document).on("click", "li", function (event) 

Jetzt kann ich Ajax Anrufe von jedem Li ohne die Seite jedes Mal aktualisieren. Hoffe das hilft ein paar Leute !!

Eine elegantere Lösung ist die Liste mit der ID

<ul id="pagingbuttons" class="pagination"> 

Und auch geben Ids auf die li-Elemente in der Liste zu erstellen. So, jetzt von Javascript, um die Click-Ereignis überschreiben nur dieser Liste wie diese

$(document).on('click', '#pagingbuttons', function(event) 

Dann haben wir eine beliebige Taste angeklickt wird Ihnen seine ID-Wert wie so bekommen kann

event.target.text 

Dies stoppt alle anderen li Elemente auf die gleiche Seite, um den Ajax-Aufruf ungewollt auszulösen.

0

Sie können diese JavaScript-Bibliothek verwenden (was ich schrieb): https://github.com/pjbonestroo/PagedList

Es löst das Problem der Umladung, Paginieren, usw. und ist vollständig anpassbar. Es enthält Dokumentation.

Es wird automatisch Ihre Controller-Funktion mit einem Ajax-Anruf aufrufen, oder Sie können Daten auf der Client-Seite hinzufügen, wenn Sie bevorzugen.

Es hat auch einige nette Features wie

  • Filtern und Sortieren (client- oder serverseitige, wie bevorzugt)
  • Entprellung zu verhindern, dass zu viele Auffrischungen
  • belegbare Tasten und Styling, abhängig von Zeilendaten
  • leicht hinzufügen/entfernen Event-Listener Zeilen (und die Zeilendaten auf Auslösung erhalten)

In Bezug auf Ihre Frage haben Sie einen besonderen Blick auf die anpassbaren Schaltflächen, so dass Sie mit den Klicks auf die Schaltflächen Javascript verwenden.

Verwandte Themen