分类模块——改变分类排序功能

1.添加改变分类排序的ajax方法

      //onchange:当改变input框内容值的时候,触发changeOrder()方法,传入输入框本身对象:this,传入排序id:{{ $v->cate_id }}
      <input onchange="changeOrder(this,{{ $v->cate_id }})" type="text" name="cate_order" value="{{ $v->cate_order }}">

2.编写改变分类排序ajax的changeOrder()方法

    function changeOrder(obj, id) {
      //获取当前文本框的值(修改后的排序值)
      var order_id = $(obj).val();
      $.post(
         //要发送的地址
        '/admin/cate/changeorder', {
         //携带的token、分类id:cate_id、分类排序:cate_order
          '_token': "{{ csrf_token() }}",
          "cate_id": id,
          "cate_order": order_id
        },
        //请求返回的数据
        function(data) {
          //如果返回的数据数组data的键status的值等于0
          if (data.status == 0) {
            //给layer弹层信息:信息是数据数组data的键msg的值
            layer.msg(data.msg, {
            //弹层图标6(笑脸)
              icon: 6
            }, function() {
            //刷新当前页面
              location.reload();
            });
          //否则返回的数据数组data的键status的值不等于0
          } else {
            //给layer弹层信息:信息是数据数组data的键msg的值
            layer.msg(data.msg, {
            //弹层图标5(哭脸)
              icon: 5
            });
          }
        });
    }

3.新建改变分类排序路由

    //修改分类排序路由
    Route::post('cate/changeorder', 'CateController@changeOrder');

4.新建改变分类排序控制器方法

    //修改分类排序
    public function changeOrder(Request $request)
    {
        //1.通过请求对象$request获取传过来的参数(cate_id、token、cate_order),排除token
        $input = $request->except('_token');
        //2.通过传过来的分类id获取当前分类
        $cate = Cate::find($input['cate_id']);
        //3.修改当前分类的排序值
        $res = $cate->update([ 'cate_order'=>$input['cate_order'] ]);
        //4.判断是否修改成功
        if ($res) {
            $data = [
                'status'=>0,
                'msg'=>'修改成功'
            ];
        }else {
            $data = [
                'status'=>1,
                'msg'=>'修改失败'
            ];
        }
        return $data;
    }
posted @ 2020-12-11 21:23  shengge  阅读(169)  评论(0)    收藏  举报