@jazzman7

Как из цикла передать данные ajax?

Доброго времени суток. Сломал себе мозг, решил все таки задать вопрос. В общем есть значит цикл while выводящий сообщения с уникальным id естественно, под ним предположительно есть ссылка вызывающие модальное окно
<a href="#" data-toggle="modal" data-target="#myModal">

в модальном окне подтверждение об удаление сообщения и кнопки отмена и удалить.

Задача: через ajax при клике, наверное через get послать запрос, так как ссылка страницы имеет переменные index.php?id=<?=$id?>&page=<?=$page?>
запрос с id поста и получить его выше, что бы подставить в запрос на удаление поста, собственно все.

ловил ссылку так

<a class="block" href="#">sdfsdfsdf</a>
<script>$(document).ready(function() {
	 
  $('.block_one').click(function() {
	  
	alert('fgdfgdfg');  
  })
  
});</script>


у меня целых 10 оповещений открылось, т.е под каждым из 10 сообщений ссылка получается не уникальной, как ее уникализировать наверное тут главная составляющая вопрос.

P.S можно ли еще при всем этом без перезагрузки удалять с помощью ajax сообщения? Т.е после всего проделанного выше, жмякаем в модальном окне кнопку удалить и оно пропадает со страницы ? У меня в голове какой-то странный велосипед появился, присвоить каждому сообщению div с id и при нажатие на кнопку делать запрос в бд на удаление, а что бы оно пропадало без перезагрузки, скрывать его через css на странице. Есть ли способы какие то поадекватнее моего? Или для этого нужно все сообщения подгружать изначально на ajax?
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
Можешь попробовать каждой ссылке на удаление задать ID сообщения из БД, затем при нажатии на ссылку отображай модальное окно, повесь на кнопку удалить id, например deleteMessage.

Кнопка "Удалить" в модальном окне

<button type="button" class="btn btn-primary" id="deleteMessage">Да</button>


Ссылки удаления, вызывающее модальное окно и содержащие ID из БД

<a class="delete" data-toggle="modal" id="1" data-target="#exampleModalCenter">✖</a>
<a class="delete" data-toggle="modal" id="2" data-target="#exampleModalCenter">✖</a>
<a class="delete" data-toggle="modal" id="3" data-target="#exampleModalCenter">✖</a>
<a class="delete" data-toggle="modal" id="4" data-target="#exampleModalCenter">✖</a>


var delete_id;

$('.delete').click(function (event) {
    delete_id = event.target.id;
});

$('#deleteMessage').click(function () {
    $.ajax({
        url: '/deleteMessage',
        data: {delete_id: delete_id},
        method: 'POST',
        success: function () {
            // Дальнейшие действия
        }
    });
});


Насчет скрытия модального окна. Задай окну ID и затем в success скрывай окно $('#modalID').modal('hide');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы