У меня проблема с обновлением содержимого модала.
Когда модал появляется, он выглядит так Мой модал .
Когда я нажимаю кнопку «Добавить еще одно объявление», мне нужно перезагрузить тело модала. Это означает, что после нажатия этой кнопки значение вставляется в базу данных MySQL, а затем должна отображаться еще одна строка в модальном режиме.
Это мой модал. Его содержимое отображается из базы данных MySQL:
<div id="myModal" class="modal fade" data-keyboard="false" href="ajax.html" data-toggle="modal" data-target="#myModal" data-remote="false" >
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Select what you have tagged:</h4>
<div class="modal-body">
<div class="row">
<div class="column1">
<label class="control-label"></label>
</div>
<div class="column1">
<label class="control-label">Start:</label>
</div>
<div class="column1">
<label class="control-label">Stop:</label>
</div>
</div>
<?php
$option = array();
$fetch_option_name = $db->sql_query("SELECT DISTINCT options FROM ads_options");
while ($row_user = mysql_fetch_assoc($fetch_option_name)) {
$option[] = $row_user;
}
$num = 1;
foreach($option as $key => $value) {
foreach($value as $val) {
echo '<div class="row">';
?>
<div class="column">
<?
echo '<label class="control-label"> '.$val.' </label>';
?>
</div>
<div class="column">
<?
echo '<input type="radio" name="radioBtn" value="ad'.$num.'_start">';
?>
</div>
<div class="column">
<?
echo '<input type="radio" name="radioBtn" value="ad'.$num.'_end">';
?>
</div>
<div class="column">
<?
echo '<button type="button" name="resetBtn'.$num.'" class="btn1">reset</button>';
?>
</div>
</div>
<?
++$num;
?>
<?
}
}
?>
</div>
<div class="modal-footer">
<button type="button" id ="saveBtn" class="btn btn-primary">Save choice</button>
<button type="button" id = "add_ad" onclick="myFunction();" class="btn btn-primary">Add one more ad</button>
</div>
</div>
</div>
</div>
</div>
Это мои javascript и ajax, которые обновляют тело модала, но не принимают новое вставленное значение из базы данных MySQL (это Опция тестирования выглядит следующим образом: Перезагрузка модальной :
$('#add_ad').click(function(){
$.ajax({ url: 'ajax',
data: {action: 'add_ad'},
type: 'post',
success: function() {
var pf = '<?php $options = array();$fetch_option_name = $db->sql_query("SELECT * FROM ads_options");while ($row_user = mysql_fetch_assoc($fetch_option_name)) { $options[] = $row_user;} $num = 1; foreach($options as $key => $value) { foreach($value as $val) { echo $val; } }; ?>';
$("#myModal .modal-body").html(pf);
$("#myModal").modal('show');
}
});
});
Так что проблема в том, что ajax выглядит как работающее, но не получает вставленное новое значение из базы данных. Мне нужно после нажатия кнопка «Добавить еще одно объявление» добавит новое значение в базу данных и в то же время после нажатия кнопки будет отображаться в теле модала.
Обновленное содержимое мода отображается только после перезагрузки страницы.
Подвести итог: возможно ли перезагрузить только модальный контент без перезагрузки всей страницы?