ajax按钮改变数据状态

Posted 郁冬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax按钮改变数据状态相关的知识,希望对你有一定的参考价值。

1、html代码

<td>
@if($project->done_deal==0)
<button type="button" class="btn btn-danger btn-xs active done"  uid="{{$project->id}}" status="{{$project->done_deal}}">否</button>
@else
<button type="button" class="btn btn-primary btn-xs active done"  uid="{{$project->id}}" status="{{$project->done_deal}}">是</button>
@endif
</td>

2、js代码

$(".done").click(function() {
        var id=$(this).attr(uid);
        var status=$(this).attr(status);
        var _this=$(this);
        if(status==1){
            var sta=0;
        }else{
            var sta=1;
        }
        var url="{{url(‘/admin/fine/done‘)}}";
        $.ajax({
            type: get,
            url: url+/+id+/+status,
            dataType:"json",
            data: {
            },
            success: function(data){
                console.log(data);
                if (data==200) {
                    _this.removeClass(btn-danger).addClass(btn-primary).html();
                    _this.attr(id,id);
                    _this.attr(status,sta);
                }else{
                    _this.removeClass(btn-primary).addClass(btn-danger).html();
                    _this.attr(uid,id);
                    _this.attr(status,sta);
                }
            }
        });
    });

3、php代码

public function done($id,$status)
    {
        $if_done=$status==1?0:1;
        Fine::where(id, $id)->update([done_deal=>$if_done]);
        //删除redis
        if(Redis::exists(fine_project.$id)){
            Redis::del(fine_project.$id);
        }
        if($if_done==1){
            return 200;
        }else{
            return 400;
        }
    }

 

点击按钮就可以直接切换数据的状态了

以上是关于ajax按钮改变数据状态的主要内容,如果未能解决你的问题,请参考以下文章

如何在不改变状态的情况下对 redux 操作做出反应

Jetpack导航。改变每个片段的工具栏按钮

在 ajax 上使用 mysql 上的条件值设置背景颜色

ajax中的beforesend参数说明

AJAX_get请求和post请求实例代码

Laravel / AJAX Like 按钮错误:请求失败,状态码 404