2019.3.21---经验库

博客介绍了JSON的简单用法,包括JS层三层数组的结构,第一层数组元素可自定义键名,第二层包含特定格式数据,第三层为单个属性。还提及在Layui中,obj.data可获取行数据,若想获取属性值则用obj.event。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//json 简单用法
//js层

layui.use('table', function(){
        var table = layui.table;

        table.render({
            elem: '#test'
            ,url:'<%=basePath%>/userDemo/pFindAll'
            ,toolbar: '#toolbarDemo'
            ,title: '用户数据表'
            ,method:'POST'
            ,cols: [[
                {type: 'checkbox', fixed: 'left'}
                ,{field:'pd_id', title:'ID', fixed: 'left', unresize: true, sort: true, hide:true}
                ,{field:'pd_name', title:'产品名称',edit: 'text'}
                ,{field:'pd_genera', title:'大类', edit: 'text'}
                ,{field:'city', title:'细类'}
                // ,{field:'pd_sellstate', title:'销售状态'}
                ,{field:'pd_putstrte', title:'上架状态'}
                ,{field:'pd_chengben', title:'成本'}
                ,{field:'pd_price', title:'售价'}
                ,{field:'pd_number', title:'库存'}
                ,{field:'pd_biaoqian', title:'标签'}
                ,{field:'pd_pinpai', title:'品牌'}
                // ,{field:'pd_jinkou', title:'进口'}
                ,{field:'pd_soldnum', title:'售出数量'}
                // ,{field:'pd_part', title:'详情'}
                // ,{field:'pd_fabutime', title:'发布时间'}
                ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
            ]]
            ,page: true
        });

        //头工具栏事件
        table.on('toolbar(test)', function(obj){
            var checkStatus = table.checkStatus(obj.config.id);

            switch(obj.event){
                case 'shanchu':
                    var data = checkStatus.data;
                    layer.confirm('确定删除选中商品?', function(index){
                        $.ajax({
                            type: "POST",
                            url: '<%=basePath%>userDemo/pDel',
                            data: {p_id:JSON.stringify(data)},
                            dataType: "json",
                            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                            async: false,
                            cache: false,
                            success: function (response) {
                                layer.msg(response.Message);
                                layer.close(index);
                            }
                        });
                    });
                    table.reload("test",{});
                    break;
            };
        });
    });

//json 中 三层数组 第一层数组:{p_id:JSON.stringify(data),p_id:JSON.stringify(data)} 其中p_id可以定义别的名字 ;第二层:JSON.stringify(data)里的data ,{{p_id:“”},{pd_name:“”}};第三层:{pd_id}

 //永久删除选中

    @ResponseBody
    @RequestMapping(value = "/pDel" , produces = "",method = RequestMethod.POST)
    public String pDel(){
        PageData pd = this.getPageData();
        
        //json数组    p_id 是第一层数组中 , p_id所对应的值
        List<JSONObject> jsonarray = JSONArray.fromObject(**pd.getString("p_id"**));
        List<PageData> list = new ArrayList<PageData>();

        for(int i=0;i<jsonarray.size();i++){
            PageData p = new PageData();
            //i是第二层的下标,   p_id是第三层名字所对应的值
            p.put("p_id",jsonarray.get**(i)**.getString(**"p_id"**));
            list.add(p);
        }
        String Message = "";
        try {
            userService.pDelete(list);
            Message = "删除成功";
        } catch (Exception e) {
            Message = "删除失败";
            e.printStackTrace();
        }
        return R.doOut("",Message,"");
    }


//layui中----------------------------------------------------------------------------------------------------------

<div class="layui-body">
        <!-- 内容主体区域 -->
        <table class="layui-hide" id="test" lay-filter="test"></table>
        <script type="text/html" id="toolbarDemo">
            <div class="layui-btn-container">
                <button class="layui-btn layui-btn-sm" lay-event="shanchu">删除选中</button>
                <button class="layui-btn layui-btn-sm" lay-event="fabu">发布产品</button>
                <button class="layui-btn layui-btn-sm" lay-event="shangjia">批量上架</button>
            </div>
        </script>
        <script type="text/html" id="barDemo">
            <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
            <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="low">下架</a>
        </script>
    </div>

obj.data; 获取的是这一行中的数据 不会获得其中属性,
如果想获得其中的属性值:obj.event

table.on('tool(test)', function(obj){
            var data = obj.data;
            //console.log(obj)
            if(obj.event === 'low'){
                layer.confirm('真的删除行么', function(index){

                });
            } else if(obj.event === 'edit'){
                layui.layer.open({
                    type: 2,
                    anim: 1,
                    area: ['50%', '65%'], //宽高
                    content: '<%=basePath%>userDemo/goEdit?id='+data.id
                });
            }
        });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值