>判断是否已经是一个实例
$.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();
});