>判断是否已经是一个实例
$.fn.dataTable.isDataTable($('#sheet_table_edit')) // 返回true或者false
>datatables 销毁实例时如有绑定事件需要先clear()再destroy().
if($.fn.dataTable.isDataTable($('#sheet_table_edit'))){ $('#sheet_table_edit').DataTable().clear(); $('#sheet_table_edit').DataTable().destroy(); $('#sheet_table_edit').empty(); }>datatables 隐藏某列再显示的话该列在隐藏之前删除的单元格会自动出现,在进行列合并时需要注意. 也可以利用.
$("input[name='_扣分原因_合计行_"+projectLength+"']").parent('td').remove(); // 移除单元格
<pre name="code" class="javascript">table.column(titleLength-2).visible(false); // 隐藏该列 table.column(titleLength-2).visible(true); // 重新显示该列,单元格会自动出现,隐藏列如重复变动需重复删除>datatables 列被隐藏时无法通过$选取该列单元格具体内容, 获取行数据可以获取到该行隐藏列单元格的数据(太麻烦), 可以直接将该列的值用隐藏输入框的方式附到其它显示的列上
return data+'<input name="_编号_' + row.lineIndex + '" type="hidden" value="'+data+'">'+ '<input name="_accentedTerm_' + row.lineIndex + '" type="hidden" value="'+row.is_accented_term+'">'+ '<input name="_行号_' + row.lineIndex + '" type="hidden" value="'+row.lineNumber+'">';>datatables合并单元格
for(var i=0;i<projectNum.length;i++){ for(var j=1;j<projectNum[i];j++){ var index=0.01*j+i; $("input[name='_"+i+"_项目_"+index+"']").parent('td').remove(); $("input[name='_"+i+"_项目分_"+index+"']").parent('td').remove(); } $("input[name='_"+i+"_项目_"+i+"']").parents("td").attr("rowspan",projectNum[i]).css("vertical-align","middle"); $("input[name='_"+i+"_项目分_"+i+"']").parents('td').attr("rowspan",projectNum[i]).css("vertical-align","middle"); }
>在modal中重置验证信息不起作用:
$("#type_add_form").data('bootstrapValidator').resetForm(true); //重置验证信息 $(form).bootstrapValidator({ excluded: [':disabled'],//添加这一行 })>刷新表格
$('#draft_grid').dataTable().api().ajax.reload();
>序号列
{data : function(data, type, row, meta) { return meta.settings._iDisplayStart + meta.row + 1; }, title : "序号", width : "50px", visible : true}>单选行
fnDrawCallback : function() { // 提供选中行支持 $('#enterprise_grid tbody').on('click', 'tr', function() { $("#enterprise_grid input[type='radio']").prop("checked", false); $("#enterprise_grid tbody tr").removeClass("selected"); $(this).toggleClass('selected'); var ckb = $(this).find("input[type='radio']"); ckb.prop("checked", "checked" ); }); }>多选
{ data : "ck", title : '<input id="checkAll" type="checkbox"/>', render : function(data, type, row) { // 模板化列显示内容 return '<input name="ck" onClick="checkClick(this)" value=' + data + ' type="checkbox"/>'; }, width : "3%" }
// 提供选中行支持 $('#dictionary_grid tbody').on('click', 'tr', function() { //添加选中css $(this).toggleClass('selected'); var ckb = $(this).find("input[type='checkbox']"); // 选中checkBox if(ckb.prop("checked") == true){ ckb.prop("checked",false); }else{ ckb.prop("checked", "checked" ); } }); //checkbox全选 $("#checkAll").click(function () { if ($(this).prop("checked") == true) { $("#dictionary_grid input[type='checkbox']").prop("checked", true); $("#dictionary_grid tbody tr").addClass("selected"); } else { $("#dictionary_grid input[type='checkbox']").prop("checked", false); $("#dictionary_grid tbody tr").removeClass("selected"); } });
//提供多选框点击支持 function checkClick(ck) { $($(ck).parent().parent()[0]).toggleClass('selected'); var e = window.event||arguments.callee.caller.arguments[0]; if (e && e.stopPropagation) { e.stopPropagation(); } else { window.event.cancelBubble = true; } }
>获取选中行
var rows = $("#base_grid").DataTable().rows('.selected').data(); //验证 if(rows.length != 1){ $.alert("success","请选择一条记录!"); return false; } var base_id = rows[0].base_id;
>获取所有数据
var table = $('#product_materials_table').DataTable(); var datas = table.rows().data(); if(datas.length==0){ $.alert("warning","请添加原料信息!"); return false; } var trs = $("#product_materials_table tbody tr"); var flag = true; $.each(trs,function(index,o){ var rowdata = table.row( $(o) ).data(); });