Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
На страницу выводятся блоки 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
Менял статус без перезагрузки?
Не в сети
AJAX запрос получилось отправить, статус изменился. Только как обновить на странице сам блок? Обновляется только после перезагрузки
Не в сети
В 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)
Не в сети
Страницы 1