datatables完整的增删改查

news/2024/7/10 23:28:01 标签: datatables, jquery

1、需要指定datatables的ID

1 <button class="btn  btn-primary" id="newAttribute">新增证照属性</button>
2 <table class="table table-striped table-bordered table-hover dataTable myTable" id="newAttributeTable" width="100%" role="grid"   aria-describedby="editable_info">
3 </table>

2、初始化datatables

复制代码

<script type="text/javascript">
$(function() {
//初始化证照属性设置表
initnewAttributeTable();
});

//证照属性设置表

function initnewAttributeTable() {
var table = $('#newAttributeTable').dataTable({
"paging": false, //翻页
    //"bPaginate" : true,      //显示分页器
    //"iDisplayLength":28,
"ordering": false,
"searching": false, //搜索框
    //"bLengthChange":true,//改变每行显示数据数量
    //"aLengthMenu": [[10, 30, 50, -1], [10, 30, 50, "All"]],
"bInfo": false, //页脚
'bStateSave': true,
"bAutoWidth":false,
"bSort": true,
"processing": false,
"serverSide": false,
"sServerMethod": "get", //post
"bDestroy": true,
"ajax": {
"url": encodeURI("${pageContext.request.contextPath}/ajax/certificate/getCertificateTypeList"),
//"dataSrc": "data",//默认为data
"type": "get",
"error": function () {
      }
    },
"columns": [{
"data": null,
"title": "序号",
"sWidth":"30px",
"sClass": "text-tables-center",
"createdCell": function (nTd, sData, oData, iRow, iCol) {
var startnum = this.api().page() * (this.api().page.info().length);
$(nTd).html(iRow + 1 + startnum); //分页行号累加:$(nTd).html(iRow+1);
}
    }, {
"data": "typeName",
"title": "证照属性设置"
},{
"data": null,
"title": "操作"
}],
"columnDefs": [
      {
"targets": [1],
"data": "typeName",
"render": function (data, type, row) {
//isLockStatus:true:显示有锁   false:显示没有锁
if(row.isLockStatus ==true){
return ""+row.typeName+"&nbsp;&nbsp;<i class='fa fa-lock l-fa' style='cursor: pointer'></i>";
}else{
return row.typeName;
}
        }
      },
{
"targets": [2],
"data": "id",
"sWidth":"60px",
"sClass": "text-tables-center",
"render": function (data, type, row) {
var id=  row.id ==undefined ? -1:row.id ;//-1说明是新增,其余表示为编辑
if(row.isLockStatus ==true){
return "-";
}else{
return "<i class='fa fa-pencil l-fa edit-btn' style='cursor: pointer' id=\'" + id + "\'></i>&nbsp;&nbsp;<i class='fa fa-trash-o m-fa del-btn' style='cursor: pointer' id=\'" + id + "\'></i>";
}
      }
    }, {
sDefaultContent: '',
aTargets: ['_all']
    }]
  });

//新增一行表格
$("#newAttribute").unbind('click').click(function () {
if ($("#newAttributeTable tbody tr:last td i").eq(0).attr('id') == -1) {
return;
}
$('#newAttributeTable').dataTable().fnAddData([]);
var nTrsLength = $("#newAttributeTable tbody tr").length;
var nTrs = $("#newAttributeTable tbody tr").eq(nTrsLength - 1);
var nIs = nTrs.find("td").eq(2).find("i").eq(0)
      nIs.click();
});
//点击编辑图标出现编辑框
$("#newAttributeTable tbody").unbind('click').on("click", ".edit-btn", function () {
var tds = $(this).parents("tr").children();
var i;
$.each(tds, function (i, val) {
var jqob = $(val);
var txt = jqob.text();
if (i == 1) {
var put = $("<input type='text' class='form-control' style='width:100%'>");
put.val(txt);
jqob.html(put);
}
      });
$(this).toggleClass("edit-btn fa-pencil");
$(this).toggleClass("save-btn fa-save");
});
//保存按钮
$("#newAttributeTable tbody").on("click", ".save-btn", function () {
var id =$(this).attr("id");
var tds = $(this).parents("tr").children();
var sTds = tds.length;
var lisval = [];
for (var i = 0; i < sTds; i++) {
if (i < sTds - 1)
          lisval.push(tds.eq(i).children("input").val());
else lisval.push(tds.eq(i).children("input").val())
      }
if (i == sTds - 1) lisval.push();
if (lisval[1] == "") {
toNotification("警告!", "证照属性设置不能为空!", "warning");
return false;
} else if(lisval[1].length >10){
toNotification("警告!", "证照属性设置不能超过十个字符!", "warning");
return false;
}else {
$.each(tds, function (i, val) {
var jqob = $(val);
//把input变为字符串
if (!jqob.has('i').length) {
var txt = jqob.children("input").val();
jqob.html(txt);
}
         });
$(this).toggleClass("edit-btn fa-pencil");
$(this).toggleClass("save-btn fa-save");
//保存数据
SaveData(lisval[1],id);
}
    });

//证照属性设置保存信息
function SaveData(msg,id){
var data ={
id: id,   //-1表示是新增
typeName: msg
    }
var  url  = encodeURI("${pageContext.request.contextPath}/ajax/certificate/saveCertificateType");
actionRequest(data,url,function(data){
if (data.successed) {
toNotification("提示!","操作成功!", "success");
//刷新表格
initnewAttributeTable();
}else {
toNotification("操作失败!", data.message, "error");
//刷新表格
initnewAttributeTable();
}
    });
}

//证照属性设置删除
$("#newAttributeTable tbody").on("click", ".del-btn", function () {
var id =$(this).attr("id");
if (id==-1) {
var trs = $(this).parents("tr");
initnewAttributeTable();
return false;
}else{
var tds = $(this).parents("tr").children();
var data = {id: id };
var url="/ajax/certificate/deleteCertificateType";
//执行删除
toConfirm(data,url,function(data){
if (data.successed) {
swal({
title: "删除成功",
text: "<small>1秒后自动关闭<small>",
type: "success",
html: true,
timer: 1000
});
initnewAttributeTable();
} else {
swal("删除失败!", data.message, "error");
}
        });
}
    });
}
//获得标识
function getActionId() {
return new Date().getTime();
} 
</script >

复制代码

3、最终效果


http://www.niftyadmin.cn/n/1869993.html

相关文章

datatables实现异步加载与增删改查

给大家分享一下我在项目中用datatables实现ajax加载数据与增删改查 注意&#xff0c;需要引入jquery、datatables、layer html代码&#xff1a; <div class"thead"><input placeholder"请输入搜索内容" id"searchTitle" type"text…

程序人生--一个程序员对学弟学妹建议

原文地址&#xff1a;http://kb.cnblogs.com/page/42108/ 我始终认为&#xff0c;对一个初学者来说&#xff0c;IT界的技术风潮是不可追赶。我时常看见自己的DDMM们把课本扔了&#xff0c;去买些价格不菲的诸如C#, VB.Net 这样的大部头&#xff0c;这让我感到非常痛心。而许多搞…

JQuery Datatables Columns API 参数详细说明

Data Tables: http://datatables.net/ Version: 1.10.0 Columns说明 虽然我们可以通过DOM直接获取DataTables元素的信息&#xff0c;但是DataTables提供了更方便的方法&#xff0c;可以自定义列的属性。下边就让我们一起来学习DataTables是怎么来定义列属性的。 DataTables提供…

Datatables | 升级 | 1.10.x与1.9.x参数名对照表

1.10.x与1.9.x参数名对照表 Datatables 1.10.x在命名上与1.9.x的有区别&#xff0c;新版的使用的是驼峰的命名规则&#xff0c;而之前的是采用匈牙利命名规则 当然&#xff0c;这些变化都是向下兼容的&#xff0c;你可以继续使用旧版本的api方法的参数和名称。 如果你要是用新…

jquery.form.js的ajaxSubmit和ajaxForm使用

依赖的脚本文件 1 <script src"../Javascript/jquery-1.11.1.min.js" type"text/javascript"></script> 2 <script src"../Javascript/jquery.form.js" type"text/javascript"></script> ajaxSubmit…

什么是图灵机

图灵的基本思想是用机器来模拟人们用纸笔进行数学运算的过程&#xff0c;他把这样的过程看作下列两种简单的动作&#xff1a;在纸上写上或擦除某个符号&#xff1b;把注意力从纸的一个位置移动到另一个位置&#xff1b;而在每个阶段&#xff0c;人要决定下一步的动作&#xff0…

表单验证——JqueryValidator、BootstrapValidator

表单验证两种方式&#xff1a; 1、JqueryValidator <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>JqueryValidator实战——用户注册</title><script src"http://static.runoob.com/a…

为什么匿名内部类和局部内部类只能访问final变量

转:http://feiyeguohai.iteye.com/blog/1500108 为什么匿名内部类参数必须为final类型 1) 从程序设计语言的理论上:局部内部类(即:定义在方法中的内部类),由于本身就是在方法内部(可出现在形式参数定义处或者方法体处),因而访问方法中的局部变量(形式参数或局部变量)是天经地…