我面临的问题是,当我单击活动按钮时,所有文章的活动按钮都将更改为非活动状态。我想将该文章ID的状态从活动状态更改为非活动状态。所有文章将按照数据库中描述的状态保持活动状态或非活动状态。我该如何获取? 如果“我的非活动文章”按钮变为该文章的“非活动”,则不是所有文章都单击该按钮,并且当我刷新页面时,所有文章的状态都设置为“活动”,但是在数据库中,它们的状态已更改为“非活动”。
HTML:
<button class="btn btn-sm btn-danger delete-article-btn"
onclick="deleteArticle({{$article['aID']}})">Active
</button>
脚本:
<script>
function deleteArticle(id) {
$.ajax({
url: '{!! URL('/pay/dash/panel/delete_article') !!}',
type: 'post',
dataType: 'json',
data: {'user_id': id},
success: function (response) {
console.log(response);
console.log('Article ID',id);
if (response == 1) {
$('.delete-article-btn').html('Inactive');
} else {
$('.delete-article-btn').html('Active');
}
}, error: function (error) {
}
});
}
</script>
控制器:
public function deleteArticles(Request $request)
{
$userId = $request->input('user_id');
$result = 0;
$checkArticle = Article::where('id', $userId)->where('is_deleted',0)->get();
if (count($checkArticle)>0) {
Article::where('id', $userId)->update(['is_deleted' => 1]);
$result = 1;
} else {
Article::where('id', $userId)->update(['is_deleted' => 0]);
$result = 0;
}
return $result;
}
答案 0 :(得分:0)
<button class="btn btn-sm btn-danger delete-article-btn mybtn-{{$article['aID']}}"
rel="{{ $article['aID'] }}" rel2="1">Active
</button>
<script>
$(document).on('click','.delete-article-btn',function(){
var id = $(this).attr('rel');
var status = $(this).attr('rel2');
$.ajax({
url: '{!! URL('/pay/dash/panel/delete_article') !!}',
type: 'post',
dataType: 'json',
data: {'user_id': id,'status':status},
success: function (response) {
console.log(response);
console.log('Article ID',id);
if (response == 1) {
$('.mybtn-'+id).html('Inactive');
$('.mybtn-'+id).attr('rel2',0);
} else {
$('.mybtn-'+id).html('Active');
$('.mybtn-'+id).attr('rel2',1);
}
}, error: function (error) {
}
});
})
</script>
public function deleteArticles(Request $request)
{
$userId = $request->input('user_id');
$status = $request->input('status');
$result = 0;
if ($status==0) {
Article::where('id', $userId)->update(['is_deleted' => 1]);
$result = 1;
} else {
Article::where('id', $userId)->update(['is_deleted' => 0]);
$result = 0;
}
return $result;
}
答案 1 :(得分:0)
您正在使用“ .delete-article-btn”类更改所有按钮的html内容
if (response == 1) {
$('.delete-article-btn').html('Inactive');
} else {
$('.delete-article-btn').html('Active');
}
您必须根据自己的喜好指定必须更新的按钮,可能带有数据属性。
if (response == 1) {
$('.delete-article-btn[data-id=X]').html('Inactive');
} else {
$('.delete-article-btn[data-id=X]').html('Active');
}
另外,在服务器端,您似乎正在定位用户的所有文章, 我认为您只需要获取要禁用或不禁用的文章即可。