jquerydatatable 全选,反选参考⽂档
1 版本号
DataTables 1.10.12
2 API ⽂档地址
官⽅option
官⽅(英⽂)
1.10.x 与1.9.x 参数名对照表
datatables 参数配置详解
服务器处理(Server-side processing)
api 使⽤详解
按钮⽂档
导出excel 的⽂档
3 常见操作项
表格(tables )列(Columns )⾏(Rows )单元格(Cells )核⼼⽅法(Core )⼯具类(Utilities )
4 初始化⽅法
4.1 HTML 部分代码参考:
注:table table-striped table-bordered table-hover 四个类名不能缺少,如缺少table 会造成表头空⽩
<table id="tablelist" class="table table-striped table-bordered table-hover"></table>
4.2 JS 代码参考jquery官方文档下载
var tablelist;$(function(){    initTablelist();
});function initTablelist(){    tablelist = $('#tablelist').DataTable({
"select": {"style": 'single'},// single :单⾏  multi :多⾏        "dom":"<'#datatableTopBox.datatablesTop
StatusBar'<'#datatableTopCon'><'.fl.datableSearch'f>B>rt<'info'l>p",        "buttons": [            {                text: '<i class="fa fa-plus"></i> '+$.i18n.prop('public.button.New'),                action: function ( e, dt, node, config ) {                    gotoPurchaseOrderDetail();
}            },        ],
"order":[],        "bStateSave":true,        "stateLoadParams": function (settings, data) {
data.search.search="";//清除搜索框信息
data.start=0;//显⽰第⼀页数据
}
##
},        "ajax":{            "data":{},            "url":$ctx + "",
},        "columns":[//设定列的所有初始属性            dataTableConfig.checkBoxColumn(),//复选框列
dataTableConfig.serialNumberColumn,//序号列            {"title":$.i18n.prop('TenderingManagement.RequisitionNumber'),"width":"70px","data": "purchaseCode","searchable": true},            {"title":$.i18n.prop('public.form.operate'),"width":"100px","data": null,"orderable":false,"searchable": false,"className":"notitle",                render:function(data,type,row,meta){                    var id = priseId;
var str;
if(data.auditState=="3"){//查看 编辑                        str = '<a onclick="gotoDetail(\"'+id+'\")">'+ $.i18n.prop('public.button.View')+'</a> <a onclick="gotoEdit(\"'+id+'\")">'+ $.i18n.prop('swal.Edit') +'</a>';                    }else{                        str = '<a onclick="gotoDetail(\"'+id+'\")">'+ $.i18n.prop('public.button.View')+'</a>';//查看                    }                    return str;
},"visible":true,JMisMandatory:false,JMdisabled:false,JMcolumnAsign:"operatingData"            }//操作        ],
"initComplete":function( settings, json){
dataTableOrdinalFunction(this);//序号列12345顺序显⽰        }
});}
其他参考配置项:"lengthChange":true,//是否允许⽤户改变表格每页显⽰的记录数"searching":true, //搜索框
"bSort":true,  //排序
5常⽤API 整理
5.1 设置title 提⽰:
第⼀种:最新⽅案(2019年8⽉27⽇13:48:35)
不配置drawCallback 即可⾃动显⽰title 悬停提⽰,不需要提⽰的列(如:操作列)增加"className": "notitle"
注:
1. 私⼈配置drawCallback 项为空会重置datetable 导致⾃动悬停提⽰失效,若确实需要⽤到drawCallback ,需要在drawCallback ⾥⾯按照第⼆种⽅法配置
2. 除了不需要悬停提⽰的列⽤"notitle"外,其它列如需要配置className 时,命名不要包含notitle ,因为在响应式中添加了notitle 包含验证,若加上会导致此字段没有title
效果
⽰例:
第⼆种:⽬前还⽣效,写配置时请尽可能采⽤第⼀种
注:如多列不需要悬停提⽰,td:not('notitle')即可(对应列需配置"className":"notitle")
通⽤表⽰法
#
"drawCallback": function(settings, json){    $.each($("#"+ settings.sTableId +" tbody tr td:not(:last-child)"),function(i,v){        $(v).attr("title",$(v).text())    })
},
指定特定的ID "drawCallback": function(oSettings, json){    $.each($("#WorkPermitApplyList tbody tr td:not(:last-child)"),function(i,v){
$(v).attr("title",$(v).text())    })
},
5.2第⼀列复选框"aoColumns":[    {"title":"<input type='checkbox' style='display:block;width:15px;height:15px;margin-left:10px' onclick='checkAll(this)'>", "data":null,"width":"80px","bSortable": false},],"columnDefs":[    {  'targets': [0],
"visible" : true,        'searchable':false,        'orderable':false,        'render': function (data, type, row){            return '<input type="checkbox" data-id ="'+ priseId + '"/>';        }    },
]
5.3⽔平滚动条:
"scrollX": true, 已配置为默认配置
下⾯是最初⽤的解决滚动⽅法,需要去掉:"initComplete":function( settings, json){//初始化结束后的回调函数
$("#contractList").wrap("<div class='datatables-scroll'></div>");
}
5.4 单选、多选、全选、全不选 事件
comtabsclick('example',initDatatables);//单⾏选中事件
comtabsclickm('example',initDatatables);//多⾏选中事件
以下是新增⽅案: "select": {"style": 'single'},// single :单⾏ multi :多⾏
1.简单调⽤
select: true,
2.blurable: true 点击表格意外地⽅,将失去选中
select: {
style: 'os',
blurable: true
}
3.复选框
select: {
style:'os',
selector: 'td:first-child'
},
4.多选⾏
>>#
select: {
style: 'multi'
}
5.单选
select: {
style: 'single'
}
6.获取选中
var count = ws( { selected: true } ).count();
var rowData = ws( indexes ).data().toArray();
7.全选和全不选
5.5 单⾏删除的⽅法(多⾏删除⽅法)
⽰例:点击某个单元格元素删除此⾏⽅法$('#example tbody').on( 'click', '.sorting_1', function () {    $('
#example').DataTable().row( $(this).parents('tr') ).remove().draw();});$("#del").click(function(){    var rowData = ws('.selected').data();    if(rowData.length==0){
toastr.warning("请选择⼀条数据!");        return;    }else{
var sid=rowData[0].sid;  //主键            }
});
5.6 排序设置
格式:"order": [[ 0, 'asc' ],[ 1, "desc" ]]
asc:升序 desc:降序
5.7 table ⾏点击前⾯复选框选中事件$('#planTaskFeedbackConfirmList tbody').on('click', 'tr', function (e) {    if ($(this).hasClass('selected') ) {        $(this).removeClass('selected');        $(this).find(".checkbox_select").attr("checked",false);    }else {        $(this).addClass('selected');        $(this).find(".checkbox_select").attr("checked","checked");    }
});
5.8 重新绘制表
projectStaffPlanningDetailTable.destroy();
$("#projectStaffPlanningDetailTable").empty();
initMyTableTables(url);
直接重绘
>>
var url = $ctx + "/module/invitingProject?projectSid="+$("#projectSid").val();
dataGridTables.ajax.url(url).load();
拼接参数问题
若需要重载函数且有拼接参数,参数写data ⾥⾯,不要拼接在url 后⾯,且重复请求时先重置data function search(){
projectStatusListTables.settings()[0].ajax.data = {        jm_app: 'app',        userCode: USER_INFO.usercode,
project: $("#search-drop-down").val()    };    var url = $ctx + "/module/projectStatusManagement/findInfoList";    projectStatusListTables.ajax.url(url).load();
}
5.9 集成下拉框selectpicker5css:
.bootstrap-select:not([class*="col-"]):not([class*="form-control"]):not(.input-group-btn){    width: 80%;}
table.dataTable tbody tr td:last-child{        overflow: visible;
}⾏添加事件$("#btn").on("click",function(){    var rowJson = {            nociteSid:null,            tenderCode:1111,            tenderName:"11111",            bidOpeningDate:new Date(),
bidOpeningAddress:"还是",            isOpenRecord:"s"    };
$('#openBidRecoredListCall').DataTable().row.add(rowJson).draw();})"columnDefs": [    {
"targets":[-1],//扩展列显⽰列位置        "width":"190px",        "class": "but_xq",
"data":"taskSid",        "orderable":false,        "bSortable": false,
"searchable": false, //是否参与搜索        "mRender": function (data) {        return '<select class="selectpicker" data-live-search="true" data-size="5" ><option>1</option></select>';    }}],"drawCallback": function (settings, data) {    $('.selectpicker').selectpicker();    $('.selectpicker').unbind("changed.bs.select").on('changed.bs.select',function(e){
console.log($(this).val());//下拉框更新后的值
console.w( $(this).parent().parent() ).data());//下拉框所在⾏的值    });
},
5.10 获取datatables 的总⾏数(fnInitComplete 当中使⽤)##

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论