Спасибо, petersendidit. Я использовал подобную идею, но мне пришлось переработать ее для моего динамического сайта php и AJAX.
Ключом к его работе было создание div на лету, а не использование существующего в DOM. Когда пользователь нажимает следующее или предыдущее, диалоговое окно уничтожается, а новый динамически создается снова.
В приведенном ниже примере мне понадобилось диалоговое окно для просмотра через разных студентов. Переменная students_ids передается из php в виде строки. например. stuid1 | stuid2 | stuid3. Текущий_student является одним из этих идентификаторов. например. stuid2.
function opendialog_student(url, title, current_student, students_ids) {
var $dialog = $('<div></div>');
$dialog.load(url + '&student_id=' + current_student);
$dialog.dialog({ title: title, modal: true, draggable: false, resizable: false, closeOnEscape: false, position: 'top', width: 800, height: 600,
buttons: { "Next Student": function() {
students = students_ids.split('|');
for (var i = 0;i<students.length;i++) {
if (students[i] == current_student) {
var next_student = students[i+1];
}
}
if (!next_student) {
next_student = students[0];
}
opendialog_student(url, title, next_student, students_ids);
$dialog.dialog('destroy');
}, "Previous Student": function() {
students = students_ids.split('|');
for (var i = 0;i<students.length;i++) {
if (students[i] == current_student) {
var previous_student = students[0];
}
}
if (!previous_student) {
previous_student = students[0];
}
opendialog_student(url, title, previous_student, students_ids);
$dialog.dialog('destroy');
} },
close: function() {
$dialog.dialog('destroy');
}
});
}
Можете ли вы показать нам код, который вы работали с? – Sampson
Пожалуйста, покажите нам код, который не удался. Я успешно использовал диалоговые окна (для создания мастеров и т. Д.), Так что это можно сделать ... но «работает для меня» не является полезным ответом :) – Annabelle