Привет, друзья, я просто хотел передать переменную в свой модальный файл из сценария. Я использую CodeIgniter в качестве фреймворка, который позволяет мне создавать таблицу со встроенной библиотекой. Когда я нажимаю кнопку просмотра на своей таблице, он получает соответствующий идентификатор, возвращается к контроллеру, чтобы захватить содержимое таблицы и возвращает содержимое таблицы в сценарий.
Теперь у меня есть данные в сценарии под названием “data[‘viewTable’]”, а в моем модальном идентификаторе с именем body есть вызов функции $this->table->generate($tabledata). Я просто хотел использовать данные, которые у меня есть в сценарии, вместо переменной $ tabledata, поскольку это становится $this->table->generate(data[‘viewTable’]), вопрос, как мне получить эти данные из сценария.
Я искал связанные проблемы в Google, но то, что я получил, меняет все содержимое модального окна, указанного идентификатором. Вы можете предложить мне создать таблицу внутри скрипта и изменить модальное окно с помощью innerHTML, но я попробовал, но это не сработало.
Вот частичное представление моего кода
<div id = "view_modal" class = "modal" tabindex = "-1" role = "dialog">
<div class = "modal-dialog" role = "document">
<div class = "modal-content">
<div class = "modal-header">
<h5 class = "modal-title" id = "title">View schedules</h5>
<button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close">
<span aria-hidden = "true">×</span>
</button>
</div>
<div class = "modal-body" id = "body">
<?php
//how do I get the variable in the script to be used in the place of $viewTable
echo $this->table->generate($viewTable);
?>
</div>
<div class = "modal-footer">
<button type = "button" class = "saveview btn btn-primary">Save</button>
<button type = "button" class = "closeview btn btn-secondary" data-dismiss = "modal">Close</button>
</div>
</div>
</div>
</div>
В сценарии у меня есть
$(document).on('click', '.view', function () {
var id = $(this).data('id');
var formdata = '&action=viewschedule&ajax=1&id=' + id;
$.ajax({
async: false,
type: "POST",
data: formdata,
dataType: "json",
success: function (data) {
//Here i got data from the database and I want to pass to modal id 'body'
$('#view_modal').show();
}
});
});
я обновил свой вопрос, сэр
Проверить мой обновленный ответ



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Основываясь на вашем обновленном вопросе, вам нужно просто настроить таргетинг на свой #body и обновить html. Вот как это сделать с помощью jQuery, который вы уже используете
$('#body').html(data.viewTable);
$(document).on('click', '.view', function () {
// Shortcut for the demo, delete this part
var data = {viewTable: '<table><tr><td>Hello</td></tr></table>'}
$('#body').html(data.viewTable);
$('#view_modal').show();
// Your code, already updated to work.
var id = $(this).data('id');
var formdata = '&action=viewschedule&ajax=1&id=' + id;
$.ajax({
async: false,
type: "POST",
data: formdata,
dataType: "json",
success: function (data) {
$('#body').html(data.viewTable);
$('#view_modal').show();
}
});
});#view_modal {
display: none;
}<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class = "view">View</button>
<div id = "view_modal" class = "modal" tabindex = "-1" role = "dialog">
<div class = "modal-dialog" role = "document">
<div class = "modal-content">
<div class = "modal-header">
<h5 class = "modal-title" id = "title">View schedules</h5>
<button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close">
<span aria-hidden = "true">×</span>
</button>
</div>
<div class = "modal-body" id = "body"></div>
<div class = "modal-footer">
<button type = "button" class = "saveview btn btn-primary">Save</button>
<button type = "button" class = "closeview btn btn-secondary" data-dismiss = "modal">Close</button>
</div>
</div>
</div>
</div>
Вы можете предоставить код? «модальный» - это общий термин, который может означать что угодно.