Takže mám túto DataTable s povoleným stránkovanímktorý som kódoval tak, aby mohol užívateľ upravovať riadky tabuľky, keď užívateľ zavolá stránku úprav, ktorá sa otvorí v okne Magnific Popup, všetko funguje dobre na strane 1, od strany 2 DataTable a pred ňou prestane volať Magnific Popup a ja jednoducho nemôžeme zistiť, prečo ...
Edit.php s formulárom, ktorý sa otvára vo vnútri Magnific Popup má tento div:
<div id="ajax-content" class="example-popup">
A nasledujúce css:
position: relative;
background: #FFF;
padding: 10px;
width: auto;
max-width: 750px;
margin: 20px auto;
color: #999;
font-weight: bold;
Pri mojom indexe mám túto funkciu:
$(".popup-ajax").magnificPopup({
type: "ajax",
showCloseBtn: "true",
modal: "true",
});
Tento odkaz zavolá funkciu:
echo "<td><a href="http://localhost/teste/include/edit.php?id=" . $row["id"] . "" class="popup-ajax">Editar</a></td>";
Proces je Link, ktorá volá funkciu a potom otvorí editačnú stránku vnútri Magnific Popup.
Nejaká pomoc?
odpovede:
0 pre odpoveď č. 1Príčina
V DOM sú k dispozícii iba elementy prvej stránky, preto váš volič jQuery $(".popup-ajax")
nevyberá prvky zo stránok iných ako prvý.
RIEŠENIE
Musíte inicializovať Magnific Popup vnútri spätného volania definovaného drawCallback
voľba. Táto funkcia bude volaná pri každom prekreslení tabuľky.
Napríklad:
var table = $("#example").DataTable({
// ... skipped ...
drawCallback: function(){
$(".popup-ajax").magnificPopup({
type: "ajax",
showCloseBtn: "true",
modal: "true"
});
}
});
LINKS
vidieť jQuery DataTables: Vlastná kontrola nefunguje na druhej strane a po nej pre viac príkladov a detailov.