Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 15.07.2017 06:55:22

Как обновить блок div при изменении статуса в БД?

На страницу выводятся блоки div с разными статусами:

@if($img->status == 0) //Статус не определен 
<div>
<a>Продать</a>
<a>Забрать</a>
</div>
@endif

@if($img->status == 1) //Статус забрал
<div>...</div>
@endif

@if($img->status == 2) //Статус продан
<div>...</div>
@endif

Как сделать так, чтобы при нажатии на одну из кнопок, блок:

@if($img->status == 0) //Статус не определен 
<div>
<a>Продать</a>
<a>Забрать</a>
</div>
@endif

Менял статус без перезагрузки?

Не в сети

#2 15.07.2017 08:14:27

Re: Как обновить блок div при изменении статуса в БД?

AJAX запрос получилось отправить, статус изменился. Только как обновить на странице сам блок? Обновляется только после перезагрузки sad

Не в сети

#3 16.07.2017 18:41:12

Re: Как обновить блок div при изменении статуса в БД?

В success ajax'a удали ненужное и вставь/редактируй нужное.
Например с помощью jQuery что-нибудь вроде:

success: function(){
$('#oldBadDiv').remove();
$('#targetDiv').html('<div id="new_status">content</div>');}

или, если ajax для вывода дергает данные из базы:

success: function(data){
$('#oldBadDiv').remove();
$('#targetDiv').html(data);}

я предполагаю что ты поймешь сам принцип.
Ведь тебе по сути надо изменить html-разметку, изменив визуально блок (добавив или удалив какие-нибудь кнопочки)?

дело то в том, что приложение уже отработало и инструкции @ шаблонизатора тоже. Переменные, переданные в шаблонизатор отработали и исчезли, оставив после себя лишь html. Поэтому, если нет необходимости использовать какой-нибудь контроллер для получения данных, то данный вопрос (как изменить блок) больше связан с ajax, js, jquery, чем с Laravel. Хотя, если требуется логика Laravel, для получения необходимой html-разметки, то тем же ajax можно обращаться к интересующему тебя контроллеру.

Изменено Yurri_87 (16.07.2017 18:59:17)

Не в сети

Подвал раздела