//定义的选框
<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="";
}
});