dataTables获取单选,全选数据

//定义的选框
<table id="table_id_example"
               class="table table-border table-bordered table-bg table-hover table-sort table-responsive">
            <thead>
            <tr class="text-c">
                <th width="25"><input type="checkbox" name="head" id="checkAll" value=""></th>
                <th width="50">ID</th>
            </tr>
            </thead>

</table>

//dataTables复选框参数设置
var oTable = $('#table_id_example').dataTable({
        "searching":false,
        "bProcessing": true, //DataTables载入数据时,是否显示‘进度’提示
        "bSort" : true, //是否启动各个字段的排序功能
        "bFilter": false, //是否启动过滤、搜索功能
        "bServerSide": true, //开启服务模式
        "bInfo" : true, //是否显示页脚信息,DataTables插件左下角显示记录数
        "aLengthMenu": [25,50, 100, 150],
        //使用ajax异步请求
        ajax: {
            type: 'POST',
            url: 'URL',
            data:function (d) {
                
            },
        },

        //设置有空值不提示
        columnDefs: [
            {
                "defaultContent": "",
                "targets": "_all"
            }
        ],

        columns: [
            {
                data: "",
                bSortable: false,//是否排序
                name: "左边选框",
                render: function (data, type, row, meta) {
                    return '<input id="check"  class="check" name="check" type="checkbox" onClick="add_Goods(this)" value=" ' + data + '" />'
                }
            },{
                data:"id",//获得的参数对应的字段
                name:"ID"//参数的名称
            }
        ]

})


    //定义获取选中所需的数据,
    var ids='';  //用户id
    var name=''; //用户名称
    
    //获得单选,选中数据
    function add_Goods(_this) {
        var nRow = $(_this).parents('tr')[0];//得到这一行
        var aData = oTable.fnGetData(nRow);//得到这一行的json数据
        var txt = aData;
        if (_this.checked) {
            ids+=txt.ids+',';
            name+=txt.name+',';
            console.log(ids+"-------"+name);
        } else {
            $(_this).removeAttr('checked');
            //当取消选中,把参数设置为空
            ids= ids.replace(txt.ids+',',"");
            name= name.replace(txt.name+',',"");
        }
    }

    //获得全选,选中数据
    $("#checkAll").click(function () {

        var checkOne={}; //存放全选选中数据

        if ($(this).is(":checked")) {
            $("[name=head]:checkbox").prop("checked", true);
            $("input[name='head']").each(function () {
                var nTrs = oTable.fnGetNodes(); //fnGetNodes获取表格所有行,nTrs[i]表示第i行tr对象
                for(var i = 0; i < nTrs.length; i++){
                    checkOne=oTable.fnGetData(nTrs[i]);
                    ids+=checkOne.ids+',';
                    name+=checkOne.name+',';
                    console.log(ids+"-------"+name);
                }
            });
        } else {
            //取消全选,直接把值设置为空
            $("[name=head]:checkbox").prop("checked", false);
            ids="";
            name="";
        }
    });

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值