dataTables的dataFilter

$(document).ready( function () {

    // 声明表格

    //初始化表格
    var table = $('#stageDefineGrid').DataTable({
        language : {
            "lengthMenu" : '每页显示<select>' + '<option value="10">10</option>'
                + '<option value="20">20</option>'
                + '<option value="30">30</option>'
                + '<option value="40">40</option>'
                + '<option value="50">50</option>' + '</select>条',
            "paginate" : {
                "first" : "首页",
                "last" : "尾页",
                "previous" : "上一页",
                "next" : "下一页"
            },
            "processing" : "加载中...",  //DataTables载入数据时,是否显示‘进度’提示
            "emptyTable" : "暂无数据",
            "info" : "共 _PAGES_ 页  _TOTAL_ 条数据  ",
            "infoEmpty" : "暂无数据",
            "emptyTable" : "暂无要处理的数据...",  //表格中无数据
            "search": "搜索:",
            "infoFiltered" : " —— 从  _MAX_ 条数据中筛选",
            "zeroRecords":    "没有找到记录"

        },
        pagingType: "full_numbers",
        select:true,
        ajax : {
            url:"/abcs/product/findProductsAvailable",
            data:{
                'limit':20,
                'offset':0
            },
            dataSrc: 'data',
            'dataFilter': function(data_full){

                var json = JSON.parse( data_full );
                console.log(json.data);
                return JSON.stringify( json.data );
            }
        },
        columns: [
            {
                "data": "productid",
                "name" : "productid",
                "sDefaultContent":"",  //默认空字符串
                "sClass": "text-center"
            },
            {
                "orderable" : false,
                "data": "productname",
                'sClass': "text-center"
            },
            {
                "orderable" : false,
                "data": "productscore",
                'sClass': "text-center",
                'className':"Editor"
            },
            {
                "orderable" : false,
                "data": "floatrate",
                'sClass': "text-center"
            },
            {
                "orderable" : false,
                "data": "producttypename",
                'sClass': "text-center"
            }
            // , {  //渲染2个按钮,记得最后面加上1列
            //     "orderable" : false,
            //     "targets" : 2,              //操作按钮列(修改,删除)
            //     "data" : null,
            //     'sClass': "text-center",
            //     "render" : function(data, type, row, meta) {
            //         var id = '"' + row.productid + '"';
            //         var html = "";
            //         html += "<button οnclick='editItem("+ id +")'  style='margin-right:10px;' class='up btn btn-xs btn-warning'>修改</button>"
            //         html += "<a href='javascript:void(0);'  οnclick='deleteItem("+id+ ")' class='down btn btn-xs btn-danger'>删除</a>"
            //         return html;
            //     }
            // }
        ]
    });

    // 选择一行
    $('#stageDefineGrid tbody').on('click', 'tr', function () {
        if ( $(this).hasClass('selected') ) {
            $(this).removeClass('selected');
            //取消选择本项
        } else {
            table.$('tr.selected').removeClass('selected');
            $(this).addClass('selected');
            //选择本项
        }
    });
    // 单击“界面中的删除按钮"
    $('#btn_del_product').click(function () {
        if (table.rows('.selected').data().length) {
            $("#deleteProductModal").modal()
        } else {
            alert('请选择项目');
        }
    });
    //在模态框中确认删除
    $('#deleteConfirmBtn').click(function () {
        table.row('.selected').remove().draw(false);
    });
    //单击“界面中的修改按钮"
    $('#btn_set_product_score').click(function () {
        if (table.rows('.selected').data().length) {
            $("#setProductScoreModal").modal();
            var rowData = table.rows('.selected').data()[0];  //选中行的数据
            console.log(rowData);
            var _productname = $("#setProductScoreModal").find('span[id="_productname"]')
            $(_productname).text(rowData.productname);
            var _productscore = $("#setProductScoreModal").find('input[id="_productscore"]')
            $(_productscore).val(rowData.productscore);
        } else {
            alert('请选择项目');
        }
    });
    //修改表格中的积分数据
    $("#modifyConfirmBtn").click(function() {
        var new_productscore = $("#_productscore").val()
        if(new_productscore != ""){
            $('tbody tr.selected').find("td").eq(2).html( new_productscore);
            $("#setProductScoreModal").modal("hide");
        }else{
            alert('请输入有效的分值');
        }

    });
    // 弹出模态框,让用户确认保存产品积分设置
    $("#btn_save_product").click(function () {
        $("#saveProductModal").modal();
    });
    //确认保存,向服务器发请求
    $("#saveConfirmBtn").click(function() {
        //API方法 rows().data()返回类似Array的对象,它也是DataTables API实例.
        // 使用toArray() API方法将API实例转换为本机Javascript数组对象.
        // dataTable.rows( { selected: true } ).data().toArray();
        $("#stageDefineGrid").DataTable().rows().invalidate("dom");   //使原有数据失效,重新加载dom中的数据
        var products = $("#stageDefineGrid").DataTable().data().toArray();  //获取表中所有行
        // console.log(products);
        let productVo = JSON.stringify({"deptid" : _deptid ,"products":products} );
        $.ajax({
            type: "POST",
            url: "/abcs/deptProduct/saveDeptProductNext",
            dataType:"json",
            contentType: "application/json",
            data: productVo,
            success: function(msg){
                alert( "部门产品已保存 !");
            }
        });

    });


} );
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值