datatables 前端表格插件 增删改查功能
官方网站:http://datatables.club/example/
<!-- DataTables CSS -->css引入的
<link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.7/css/jquery.dataTables.css">
<!-- jQuery -->
<script type="text/javascript" charset="utf8" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<!-- DataTables -->
<script type="text/javascript" charset="utf8" src="http://cdn.datatables.net/1.10.7/js/jquery.dataTables.js"></script>
1.先引入上面的文件
2.html写上这些,th为表格的标题栏,可以自己定义好

<table id="table_id" class="display">
<thead>
<tr>
<th>xxx</th>
<th>xxx</th>
<th>xxx</th>
<th>xxx</th>
<th>xxx</th>
<th>xxx</th>
<th>xxx</th>
</tr>
</thead>
<tbody>
</tbody>
</table>

3.开始初始化表格插件

$(document).ready( function () {
var tables=$('#table_id').DataTable({
"oLanguage": { //表格的语言设置
"sProcessing": "正在获取数据,请稍后...",
"sLengthMenu": "显示 _MENU_ 条",
"sZeroRecords": "没有您要搜索的内容",
"sInfo": "从 _START_ 到 _END_ 条记录 总记录数为 _TOTAL_ 条",
"sInfoEmpty": "记录数为0",
"sInfoFiltered": "(全部记录数 _MAX_ 条)",
"sInfoPostFix": "",
"sSearch": "搜索",
"sUrl": "",
"oPaginate": {
"sFirst": "第一页",
"sPrevious": "上一页",
"sNext": "下一页",
"sLast": "最后一页"
}
},
"bProcessing" : true, //DataTables载入数据时,是否显示‘进度’提示
// "serverSide": true,
"autoWidth":false,
//"sScrollY" : 350, //DataTables的高
"sPaginationType" : "full_numbers", //详细分页组,可以支持直接跳转到某页
"iDisplayStart": 0,//刷新插件后显示的第几页(如果一页为10条数据,填10就显示第二页)
"ajax":{
"url":"url地址"//输入url地址
},
columns: [//定义接受到的数据,“key”
{ data: 'id' },
{ data: 'name' },
{ data: 'industry' },
{ data: 'source' },
{ data: 'location'},
{ data: 'serviceStatus'},
{ data : null}
],
'bStateSave': true,//配置好这个,刷新页面会让页面停留在之前的页码
"columnDefs": [{
"targets": 6,//编辑
"data": null,//下面这行,添加了编辑按钮和,删除按钮
"defaultContent": "<button id='editrow' class='btn btn-primary' type='button' style='margin-right:10px;'>编辑</button><button id='delrow' class='btn btn-primary' type='button'>删除</button>"
}],
"createdRow": function( row, data, index ) {
//每加载完一行的回调函数
$('td', row).eq(5).css('font-weight',"bold").css("color","red");//获取到具体行具体格的元素
}
});
-----------//以下为自定义的删除按钮事件,可以忽略,也可以参考写法----------------
$('#table_id tbody').on( 'click', 'button#delrow', function () {
var data = tables.row( $(this).parents('tr') ).data();
//tables.ajax.reload();重新获取数据
//tables.draw(false);重新刷新页面
if(confirm("是否确认删除这条信息")){
$.ajax({
url:'http://10.10.1.183:8080/crm/enterprise/'+data.id,
type:'delete',
timeout:"3000",
cache:"false",
success:function(str){
if(str.data){
tables.row().remove();//删除这行的数据
window.location.reload();//重新刷新页面,还有一种方式:tables.draw(false);(这是不刷新,重新初始化插件,但是做删除时候,老有问题)
}
},
error:function(err){
alert("获取数据失败");
}
});
}
});
$('#table_id tbody i').css({"fontStyle":"normal"});
$('#table_id tbody').on( 'click', 'button#editrow', function () {
//获取数据
var data = tables.row( $(this).parents('tr') ).data();
//清空内容
$('.pop_clear_text input').val('');
//弹出层展示
$('.pop').show();
//填充内容
$('.pop_id').val(data.id);
$('.pop_name').val(data.name);
$('.pop_industry').val(data.industry);
$('.pop_source').val(data.source);
$('.pop_location').val(data.location);
$('.pop_serviceStatus').val(data.serviceStatus);
});
//弹出层的功能
$('.pop_cancel,.pop_close').on("click",function(){
$('.pop').hide();
});
$('.pop_confirm').on('click',function(){
var n=parseInt($('.pop_id').val());
console.log(typeof(n));
$.ajax({
url:'http://10.10.1.183:8080/crm/enterprise',
type:'PUT',
contentType: "application/json",
timeout : "3000",
cache:false,
data: JSON.stringify({
"id":n,
"name":$('.pop_name').val(),
"industry":$('.pop_industry').val(),
"location":$('.pop_location').val(),
"source":$('.pop_source').val(),
"serviceStatus":$('.pop_serviceStatus').val()
}),
dataType: "json",
success:function(str){
//弹窗关闭
$('.pop').hide();
window.location.reload();
},
error:function(err){
alert("数据刷新失败,请重新刷新");
}
});
});
//添加事件
$('.table_list_add').on("click",function(){
//先清空
$('.table_list_name').val('');
$('.table_list_industry').val('');
$('.table_list_source').val('');
$('.table_list_location').val('');
$('.table_list_serviceStatus').val('');
//展示
$('.table_list').show();
});
//增加弹窗的功能
$('.table_list_close,.table_list_cancel').on("click",function(){
$('.table_list').hide();
});
$('.table_list_confirm').on("click",function(){
$.ajax({
url:'http://10.10.1.183:8080/crm/enterprise',
type:'POST',
contentType: "application/json",
timeout : "3000",
cache:false,
data: JSON.stringify({
"name":$('.table_list_name').val(),
"industry":$('.table_list_industry').val(),
"location":$('.table_list_location').val(),
"source":$('.table_list_source').val(),
"serviceStatus":$('.table_list_serviceStatus').val()
}),
dataType: "json",
success:function(str){
//弹窗关闭
$('.table_list').hide();
window.location.reload();
$('#table_id_last').click();
},
error:function(err){
alert("数据刷新失败,请重新刷新");
}
});
});
//控制这个表格大小
$('#table_id_wrapper').css({"width":"1400px","margin":"20px auto"});
} );

datatables 前端表格插件 增删改查功能的更多相关文章
- jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!)
jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!) 废话不多说,直接贴上代码 <table id="configEdatagrid&q ...
- JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能
JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 html <table id="productDg"></table> &l ...
- 【BootStrap】--具有增删改查功能的表格Demo
[BootStrap]--具有增删改查功能的表格Demo 目录(?)[+] 前言 版本一 样式 代码 版本二 样式 代码 版本三 样式 代码 总结 前言 bootstrap的表格样式,有类似EasyU ...
- 用AngularJS实现对表格的增删改查(仅限前端)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- BootstrapTable与KnockoutJS相结合实现增删改查功能
http://www.jb51.net/article/83910.htm KnockoutJS是一个JavaScript实现的MVVM框架.通过本文给大家介绍BootstrapTable与Knock ...
- 快速开发平台WebBuilder中ExtJS表格的增删改查
使用WebBuilder可实现表格的自动增删改查功能,而无需编写前台脚本和后台SQL. WebBuilder开源项目地址:http://www.putdb.com 自动生成的页面: <!DOCT ...
- 【原生】js实现表格的增删改查
说在前面的,写给小白白的,大神请绕道~ 今天用原生js写一下动态表格的增删改查,主要是熟悉一下js的DOM操作. 首先,做一个表格,用来显示提交的数据,如图下: 此处,我添加了编号.姓名.密码.生日. ...
- SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学、字符串、日期时间)函数[转]
SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学.字符串.日期时间)函数 --创建表格 create table aa ( UserName varchar(50 ...
- Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)
JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式 (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...
随机推荐
- angular之控制器(0)
一.控制器的含义 在angularJS中,controlle是一个javascript函数/类,用于操作作用域中,各个对象的初始状态以及相应的行为 二.控制器的作用 1. 控制 AngularJS 应 ...
- php : 匿名函数(闭包) [一]
摘自: http://www.cnblogs.com/starlion/p/3894578.html 一:匿名函数 (在php5.3.0 或以上才能使用) php中的匿名函数(Anonymous fu ...
- Hibernate延迟加载机制
延迟加载: 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作.在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另 ...
- js格式化数字和金额
格式化数字,格式化金额: function number_format(number, decimals, dec_point, thousands_sep) { /* * 参数说明: * numbe ...
- 读javascript高级程序设计14-错误处理与调试
一 错误类型 ECMA规定了常见的7种错误类型: Error: 基类型.其他常见的错误类型都继承自该类型,一般供开发人员抛出自定义错误. EvalError:该类型会在eval()函数使用异常时被抛 ...
- uva 1151(最小生成树,枚举子集)
题意:平面上有n个点(1<=N<=1000),你的任务是让所有n个点连通,为此,你可以新建一些边,费用等于两个端点的欧几里得距离的平方.另外还有q(0<=q<=8)个套餐,可以 ...
- [转]虚拟机VMware3种网络模式(桥接、nat、Host-only)的工作原理
VMware网络配置详解一:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这 ...
- 使用WinINet和WinHTTP实现Http访问
使用WinINet和WinHTTP实现Http访问 Http访问有两种方式,GET和POST,就编程来说GET方式相对简单点,它不用向服务器提交数据,在这个例程中我使用POST方式,提交数据value ...
- 前台发送字符串给后台,格式为(a,b,c,d),后台将字符串转换成数组遍历后进而更新CheckId
using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Configuration; u ...
- ESXi虚拟磁盘共享
因为项目需要需要一个磁盘共享的环境. 最先想到用iSCSI,两个客户端挂载同一个远端盘:这样确实可行,但是感觉太繁琐,想到既然是虚拟机环境,可以设置虚拟磁盘共享. 于是网上一番搜罗,确实有人这个做过, ...