layui table的使用及操作

版权声明:本文为博主原创文章,未经博主允许不可转载。转载请注明出处 https://blog.csdn.net/qq_32442967/article/details/89707874

layui table表格的使用方法及基本操作
包含:

  1. 开启复选框(获取选中数据),checkbox
  2. 表格的重载,reload
  3. 表格数据的操作

需要引入layui.css / jquery.js / layui.js

table.html

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>layui table</title>
		<link rel="stylesheet" href="plugins/layui/css/layui.css" />
		<script type="text/javascript" src="js/jquery.min.js"></script>
		<script type="text/javascript" src="plugins/layui/layui.js"></script>
		<style>
			html, body {
				background-color: #F1F1F1;
				margin: 0;
				padding: 0;
			}
		</style>
	</head>

	<body>
		<div class="layui-fluid">
			<div class="layui-row layui-col-space15">
				<div class="layui-col-md12">
					<div class="layui-card layui-form">
						<div class="layui-card-header">查询条件</div>
						<div class="layui-card-body layui-row layui-col-space15">
							<div class="layui-col-md2">
								<input type="text" class="layui-input" id="deviceNumber" placeholder="设备名称" />
							</div>
							<div class="layui-col-md2">
								<select name="" lay-verify="required" lay-search id="">
									<option value="">设备型号</option>
									<option value="">名称列表</option>
								</select>
							</div>
							<div class="layui-col-md12">
								<button class="layui-btn" data-type="reload">查询</button>
								<div class="layui-btn-group demoTable">
									<button class="layui-btn" data-type="getCheckData">获取选中行数据</button>
									<button class="layui-btn" data-type="getCheckLength">获取选中数目</button>
									<button class="layui-btn" data-type="isAll">验证是否全选</button>
								</div>
							</div>
						</div>
					</div>
				</div>
				<div class="layui-col-md12">
					<div class="layui-card layui-form">
						<div class="layui-card-header">查询结果</div>
						<div class="layui-card-body">
							<table class="layui-hide" id="layListId" lay-filter="layList"></table>

							<script type="text/html" id="barDemo">
								<button type="button" class="layui-btn layui-btn-sm layui-btn-warm" lay-event="maintainRecord">保养记录</button>
								<button type="button" class="layui-btn layui-btn-sm layui-btn-warm" lay-event="repairRecord">维修记录</button>

							</script>
						</div>
					</div>
				</div>
			</div>

		</div>

	</body>

</html>
<script>
	layui.use('table', function() {
		var table = layui.table;
		table.render({
			elem: '#layListId',
			id: 'layTableId',
			url: 'json/table.json',
			title: '维修保养报',
			cellMinWidth: 100,
			cols: [
				[{
					type: 'checkbox',
					fixed: 'left'
				}, {
					type: 'numbers',
					fixed: 'left'
				}, {
					field: 'deviceNumber',
					title: '设备编号',
					minWidth: '120'
				}, {
					field: 'deviceName',
					title: '设备名称',
					minWidth: '120'
				}, {
					field: 'deviceType',
					title: '设备型号'
				}, {
					title: '操作',
					minWidth: '180',
					align: 'center',
					toolbar: '#barDemo'
				}]
			],
			page: true
		});
		//监听工具条
		table.on('tool(layList)', function(obj) {
			var data = obj.data; //获得当前行数据
			switch(obj.event) {
				case 'maintainRecord':
					maintainRecord();
					break;
				case 'repairRecord':
					repairRecord();
					break;
				default:
					break;
			}

		});
		var $ = layui.$,
			active = {
				reload: function() {
					var deviceNumber = $("#deviceNumber").val();

					//执行重载
					table.reload('layTableId', {
						page: {
							curr: 1
						},
						where: {
							deviceNumber: deviceNumber
						}
					});
				},
				getCheckData: function() { //获取选中数据
					var checkStatus = table.checkStatus('layTableId'),
						data = checkStatus.data;
					layer.alert(JSON.stringify(data));
				},
				getCheckLength: function() { //获取选中数目
					var checkStatus = table.checkStatus('layTableId'),
						data = checkStatus.data;
					layer.msg('选中了:' + data.length + ' 个');
				},
				isAll: function() { //验证是否全选
					var checkStatus = table.checkStatus('layTableId');
					layer.msg(checkStatus.isAll ? '全选' : '未全选')
				}

			};
		$('.layui-btn').on('click', function() {
			var type = $(this).data('type');
			active[type] && active[type].call(this);
		});

		function maintainRecord() {
			layer.msg("保养记录");
		};

		function repairRecord() {
			layer.msg("维修记录");

		};
	});
</script>

table.json

{
	"code": 0,
	"msg": null,
	"count": 3,
	"data": [
		{
			"deviceNumber": "F10006",
			"deviceName": "东软CT",
			"deviceType": "Neuviz-twin"
		}, {
			"deviceNumber": "F10003",
			"deviceName": "东软MR",
			"deviceType": "NSM-P035"
		}, {
			"deviceNumber": "F10004",
			"deviceName": "新区CT",
			"deviceType": "Neuviz128"
		}
	]
}

猜你喜欢

转载自blog.csdn.net/qq_32442967/article/details/89707874