点按钮ajax get方法修改0或1状态封装成函数

最终效果

列表页面表格里点击按钮修改状态

按钮样式要引入bootstrap才可以用

本文件用的是laravel框架环境

larave路由里

 Route::get('category/changestatus','Admin\CategoryController@changestatus')->name('admin.category.changestatus'); //修改属性排序/修改名字

html表格里

<script type="text/javascript">
    var status_url='/admin/category/changestatus'; //全局的修改状态的url
</script>

<td>
	<input class="btn btn-{{$vo['show_in_nav'] == 1 ? 'success' : 'danger'}} size-MINI radius edit-cate"  onclick="change_status({{$vo['id']}},'show_in_nav',{{$vo['show_in_nav']?0:1}})" type="button" value="{{$vo['show_in_nav'] == 1 ? '是' : '否'}}">
</td>
<td>
	<input class="btn btn-{{$vo['enabled'] == 1 ? 'success' : 'danger'}} size-MINI radius edit-cate"  onclick="change_status({{$vo['id']}},'enabled',{{$vo['enabled']?0:1}})" type="button" value="{{$vo['enabled'] == 1 ? '是' : '否'}}">
</td>

<!--共用js-->
<script type="text/javascript" src="/rap/admin/static/common.js"></script> //用户共用的js文件

共用的common.js里


// 启用状态 修改0/1
/**
 *
 * @param $id 主键id
 * @param $name 要修改的字段名字
 * @param $status 表里要修改成的状态
 */
function change_status($id,$name,$status){
    var s_url = status_url; //拿调用页面里全局js里的url
        s_url += '?id='+$id;
        s_url += '&'+ $name + '=' + $status ;
    console.log(s_url);
//    return false;
    $.get(s_url,function(res){
        console.log(123);
        if(res.code!=0){
            layer.alert(res.msg,{icon:5});
        }else{
            layer.alert(res.msg,{icon:6});
            $('table').load(location.href+' table');
        }
    },'json');
}

控制器里:

//http://api.hm/admin/category/changestatus
//修改状态
public function changestatus(Request $request)
{
    $data = $request->all();
//        returnMsg(1,'ok.',$data);
    if(empty($data['id'])){
        returnMsg(1,'id不能为空.');
    }

    $changeRes= DB::table('goods_category')
        ->where('id', $data['id'])
        ->update($data);
    if(!$changeRes){
        returnMsg(1,'修改失败.');
    }
    returnMsg(0,'修改成功.');
}

返回json函数 放在公共方法里

/**
 * Created by Haima.
 * Author:Haima
 * QQ:228654416
 * Date: 2019-02-27
 * Time: 9:24
 */
/**
 * 公用的方法  返回json数据,进行信息的提示
 * @param $status 状态
 * @param string $message 提示信息
 * @param array $data 返回数据
 */
function returnMsg($status,$message = '',$data = array()){
    $result = array(
        'code' => $status,
        'msg' =>$message,
        'data' =>$data
    );
    exit(json_encode($result,JSON_UNESCAPED_UNICODE));
}
/*
posted @   HaimaBlog  阅读(491)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示