jquery.dataTables学习

版本:DataTables-1.10.7

代码如下:

<!DOCTYPE HTML>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<title>jquery.dataTables学习</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="./resources/css/bootstrap.min.css">
<link rel="stylesheet" href="./resources/css/dataTables.bootstrap.css">
<script src="./resources/js/vendor/jquery-1.11.3.min.js"></script>
<script src="./resources/js/vendor/jquery.dataTables.js"></script>
<script src="./resources/js/vendor/dataTables.bootstrap.js"></script>
<script src="./resources/js/vendor/json2.js"></script>
<!-- bootstrap -->
<script src="./resources/js/bootstrap.min.js"></script>
<style type="text/css">
</style>
<script type="text/javascript" charset="utf-8">
	$(document).ready(function() {
		
		$.extend($.fn.dataTable.defaults, {
			searching : false,
			ordering : false,
			pagingType: "simple_numbers"
		});

		var oTable = $('#table_id').DataTable({
			//"dom": 'til<p>',
			"paging" : true,
			"searchable":false,
			processing : true,
			serverSide : true,
			language : {
				"search":"检索",
				emptyTable : "没有数据",
				"scrollX":"100%",
				loadingRecords : "加载中...",
				processing : "查询中...",
				lengthMenu : "每页 _MENU_ 条",
				zeroRecords : "没有数据",
				info : "第 _PAGE_ 页  / 共 _PAGES_ 页",
				infoEmpty : "没有数据",
				infoFiltered : "(过滤总件数 _MAX_ 条)"
			},
			columns : [ {
				"data" : "checkbox","class": "center","defaultContent":" "
			},{
				"data" : "id","class": "center"
			}, {
				"data" : "name","class": "center"
			}, {
				"data" : "price","class": "center"
			}, {
				"data" : "quantity","class": "center"
			}, {
				"data" : "status","class": "center"
			} ],
			columnDefs : [{
				targets: [6],
				render:function(data,type,full){
					var s = "";
					s += '<td class="center"><a class="btn btn-success" href="#">';
					s += '<i class="glyphicon glyphicon-zoom-in icon-white"></i>';
					s += ' View</a>';
					s += ' </td>';
					return s;
				}
				
			}],
			ajax : {
				url : "/get_goods_list_page",
				type : "POST",
				contentType : "application/json",
				dataType : "json",
				data : function(d) {
					//console.log(JSON.stringify(d));
					var p = {};
					p.pageSize = d.length;
					p.pageNo = d.start/d.length + 1;
					p.draw = d.draw;
					p.name = $("#goodsName").val();
					
					var jsonParam = JSON.stringify(p);
					console.log(jsonParam);
					return jsonParam;
				},
				"error":function(data){
					alert(data);
				}
				
			},
			rowCallback:function(row, data, displayIndex, displayIndexFull ){
				if(data.status ==1){
					 $('td:eq(5)', row).html("未审核");
				}else if(data.status ==2){
					 $('td:eq(5)', row).html("已审核");
				}
				$('td:eq(0)',row).html('<input type="checkbox" name="checkbox" value="' + data.id + '">');
				return row;
			}

		});
		
		$("#btn_query").click(function(){
			oTable.draw();
			
		});
		

	});
</script>
</head>
<body>
<div class="container">
	<br>
	<div class="row">
		<div class="col-md-12">
			<form class="form-inline">
				<div class="form-group">
					<label for="">商品名称:</label> <input type="text" class="form-control"
						id="goodsName" name="goodsName">
				</div>
				<div class="form-group">
					<button type="button" id="btn_query" class="btn btn-default">查询</button>
				</div>
			</form>
		</div>
	</div>
		
	<br>
	<div class="row">
		<div class="col-md-12">
			<table id="table_id" class="table table-striped table-bordered bootstrap-datatable datatable responsive">
				<thead>
					<tr>
						<th></th>
						<th>ID</th>
						<th>商品名称</th>
						<th>单价</th>
						<th>数量</th>
						<th>状态</th>
						<th>操作</th>
					</tr>
				</thead>
			</table>
		</div>
	</div>
</div>
</body>
</html>

效果图:



请求参数格式:

{"pageSize":2,"pageNo":1,"draw":1}


响应参数格式:

{
	"status": "0",
	"draw": 1,
	"recordsTotal": 14,
	"recordsFiltered": 14,
	"data": [{
		"id": 35,
		"name": "44",
		"description": "44",
		"price": 44.000,
		"quantity": 44,
		"status": 1
	},
	{
		"id": 34,
		"name": "234",
		"description": "345435",
		"price": 35345.000,
		"quantity": 34535,
		"status": 1
	}]
}



jQuery DataTables 是一个强大的表格插件,可以帮助开发人员快速实现功能丰富的数据表格。 首先,在使用这个插件之前,需要在项目中引入 jQueryDataTables 的相关文件。可以通过将它们下载到本地并引用,或者使用 CDN 服务引用它们。 一旦引入了必要的文件,就可以开始使用 DataTables。 首先,需要将 HTML 表格元素转换成 DataTables,可以使用如下方式: ```javascript $(document).ready(function() { $('#myTable').DataTable(); }); ``` 上述代码将选择具有 id 为 "myTable" 的表格元素,并将其转换为 DataTables。 接下来,可以在 DataTables 中配置各种选项,以满足项目的需求。例如,可以设置表格的列宽度、排序方式、是否显示搜索框等等。可以通过在 DataTables 初始化函数中传递一个配置对象来实现这些功能。例如: ```javascript $(document).ready(function() { $('#myTable').DataTable({ "columnDefs": [ { "width": "20%", "targets": 0 }, // 设置第一列的宽度为20% { "orderable": false, "targets": 2 } // 第三列禁止排序 ], "searching": false // 禁用搜索框 }); }); ``` 除了基本的配置选项外,DataTables 还提供了许多其他功能,例如分页、导出数据、自定义过滤等等。这些功能可以通过配置项或使用插件来实现。 DataTable还提供了许多API方法,可以进行表格的操作,如添加、删除、更新数据等。例如,可以使用 `row().data()` 方法获取表格的某一行数据,并对其进行修改。 上述是对 jQuery DataTables 的简要介绍,它为我们提供了一种简单高效的方式来管理和操作数据表格,帮助我们快速构建功能丰富的表格界面。通过深入学习官方文档和示例,掌握其更多高级用法,可以更好地利用该插件来满足各类项目的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值