Не получается обновить список опций в select после добавления новой категории.
Есть форма:
<form id ="add_category" enctype="multipart/form-data">
<label class="uk-form-label" for="form-stacked-text">Название</label>
<input type="text" class="uk-input" name="name" id="name" required>
<label class="uk-form-label" for="form-stacked-text">Родительская</label>
<select name="parrent" class="uk-select" id="parrent">
<option value="" selected>Без родительской</option>
<div id="addresult_category_list"><?include $_SERVER['DOCUMENT_ROOT'] . "/updates/category_list_admin.php";?></div>
</select>
<label class="uk-form-label" for="form-stacked-text">Сортировка</label>
<input type="number" class="uk-input" name="sort" id="sort" required>
<div class="uk-margin">
<input type="submit" name="submit" value="Добавить категорию" id="submit" class="uk-button uk-button-default">
</div>
В неё подгружаются опции из файла category_list_admin.php его содержимое:
$sql = "SELECT * FROM category WHERE parrent=''";
if($result = $conn->query($sql)){
foreach($result as $row){
$category = $row["name"];
$category_id = $row["id"];
echo "<option value=\"$category_id\">$category</option>";
}
} else { echo "Ошибка: " . $conn->error;}
На странице с формой добавляю скрипт, чтобы после добавления новой категории без перезагрузки страницы в форме появлялись новые опции, но почему-то не работает. Опции в форме не обновляются.
<script>
$("#add_category").submit(function(updatelist){
$.ajax({
url: '/updates/category_list_admin.php',
type: 'POST',
contentType: false,
cache: false,
processData:false,
success: function(html){
$("#addresult_category_list").html(html);
}
});
});
Если я сделаю пустой див (вне формы)
<div id="addresult_category_list2"></div>
и направлю туда ответ аякса
<script>
$("#add_category").submit(function(updatelist){
updatelist.preventDefault();
$.ajax({
url: '/updates/category_list_admin.php',
type: 'POST',
contentType: false,
cache: false,
processData:false,
success: function(html){
$("#addresult_category_list2").html(html);
}
});
});
</script>
то после добавления новой категории, в новом диве корректно отобразится весь список категорий. Почему это не работает в форме с опциями я не понимаю.
echo "<option value=\"$category_id\">$category</option>";– Михаил Горячев Jul 07 '22 at 12:25<div id="addresult_category_list"><?include $_SERVER['DOCUMENT_ROOT'] . "/updates/category_list_admin.php";?></div>и работает корректно – Михаил Горячев Jul 07 '22 at 13:10