У меня есть таблица данных Campaign
на моей веб-странице Laravel.Я хочу изменить статус любого campaign
, нажав кнопку из столбца action
, используя AJAX.
изображение таблицы данных кампании
Я хочу, чтобы при нажатии кнопки inactive
в столбце action
кампанию status
нужно было изменить на active
с inactive
мгновенно, и только эта строка будет изменена, и никакая другая строка не будет затронута.Вот почему я использую AJAX.
Но в моем случае, когда я нажимал эту кнопку inactive
, все остальные состояния удалялись, и показывалось только одно состояние, как на изображении ниже.
изображение после нажатия кнопки действия
Но я хочу изменить только статус этой конкретной строки.
html с возможностью регистрации данных
<td id="status_td">
@if($campaign->status == 'active' && $campaign->finalized == 0)
<span class="status label label-success">{{trans('misc.active')}}</span>
@elseif($campaign->status == 'pending' && $campaign->finalized == 0)
<span class="status label label-warning">{{trans('admin.pending')}}</span>
@elseif($campaign->status == 'inactive' && $campaign->finalized == 0)
<span class="status label label-danger">Inactive</span>
@else
<span class="status label label-default">{{trans('misc.finalized')}}</span>
@endif
</td>
<td>
<a href="{{ url('panel/admin/campaigns/edit', $campaign->id) }}" class="btn btn-success btn-xs padding-btn">
<i class="fa fa-edit"></i>
</a>
@if($campaign->status == 'active' && $campaign->finalized == 0)
<button id="" class="status_change_inactive label label-danger" value="{{ $campaign->id }}">Inactive</button>
@elseif($campaign->status == 'inactive' && $campaign->finalized == 0)
<button id="" class="status_change_active label label-success" value="{{ $campaign->id }}">Active</button>
@endif
</td>
AJAX-скрипт
$( ".status_change_inactive" ).click(function() {
var id = $(this).val();
$.ajax({
type:'GET',
url:"{{ url('ajax/status_change_inactive') }}",
data:{campaign_id : id},
success:function(data) {
$('#status_td span').remove();
trHTML = '<span class="status label label-danger">Inactive</span>';
$('#status_td').append(trHTML);
}
});
});
Как я могу это сделать?Кто-нибудь, помогите, пожалуйста?Заранее спасибо