Таким чином, у мене є DataTable з включеним розбиттям сторінокякий я кодував таким чином, щоб користувач міг редагувати рядки таблиці, коли користувач викликає сторінку редагування, що відкривається у вікні Magnific, це все добре працює на сторінці 1, зі сторінки 2 DataTable і попереду перестає викликати Magnific Popup, і я просто не можу з'ясувати, чому ...
У редакторі edit.php з формою, яка відкривається всередині спливаючого вікна Magnific, є цей розділ:
<div id="ajax-content" class="example-popup">
І наступний css:
position: relative;
background: #FFF;
padding: 10px;
width: auto;
max-width: 750px;
margin: 20px auto;
color: #999;
font-weight: bold;
У моєму індексі я маю цю функцію:
$(".popup-ajax").magnificPopup({
type: "ajax",
showCloseBtn: "true",
modal: "true",
});
І це посилання для виклику функції:
echo "<td><a href="http://localhost/teste/include/edit.php?id=" . $row["id"] . "" class="popup-ajax">Editar</a></td>";
Процес є посиланням, клас якого викликає функцію, а потім відкриває сторінку редагування у вікні Magnific.
Будь-яка допомога?
Відповіді:
0 для відповіді № 1ПРИЧИНА
В DOM доступні лише елементи першої сторінки, тому ваш селектор jQuery $(".popup-ajax")
не вибирає елементи з інших сторінок, ніж перші.
РІШЕННЯ
Потрібно ініціалізувати спливаюче значення Magnific у зворотному виклику, визначеному за drawCallback
опції. Ця функція буде викликатися кожного разу, коли таблиця буде перемальована.
Наприклад:
var table = $("#example").DataTable({
// ... skipped ...
drawCallback: function(){
$(".popup-ajax").magnificPopup({
type: "ajax",
showCloseBtn: "true",
modal: "true"
});
}
});
ПОСИЛАННЯ
Побачити jQuery DataTables: Спеціальний елемент керування не працює на другій сторінці та після додаткові приклади та деталі.