利用jQuery对table表达增删改查

最近要处理一些前端的工作,重新学习了一下jQuery,感觉还是那么的锋利啊!!!


总结了一下对table增删改查,写一篇留着以后自己recode。。


1.首先我自己写了一个简单的div布局。。(确实有点。。毕竟没有美工妹子帮忙。。)



2.实现几个用<a>标签做的按钮的功能 分别是新增 修改 删除 查询和返回

代码如下


html+css(原谅我写在一起吧。。毕竟渲染不是我的强项)


<html>

<head><title>测试数据</title></head>
<style type="text/css">
    table, td{
	font:100% '微软雅黑'; 
    }
    table{width:80%;border-collapse:collapse; margin:0 0 0 100px}
    th, td{text-align:center;border:1px solid #fff;}
    th{background:#328aa4}
    td{background:#e5f1f4;}
</style>
<script type="text/javascript" src="jquery-1.8.0.js"></script>
<script type="text/javascript" src="jq.js"></script>
<body>
 <a href="#" style ="margin:100px" id="add_btn">新增</a>
 <input id="Ktext" type="text"> <a href="#" id="search_btn">   查询</a>
 <a href="#" style ="margin:100px" id="back_btn">返回</a>
 <br/>
<table id="tb">
	<tr id="trr">
        <th style="width:100px">ID</th>
        <th style="width:100px">Name</th>
        <th style="width:100px">salary</th>
        <th style="width:100px">功能</th>
	  
    </tr>
	<tbody id="hide_tbody">
	<tr style="display:none"  id="trr">
		<td style="width:100px" id="no_id"><input value='' type='text'></td>
		<td style="width:100px"><input value='' type='text'></td>
		<td style="width:100px"><input value='' type='text'></td>
		<td style="width:200px" id="a"><a href="#" id="save_btn">保存</a>
		<a href="#" id="edit_btn" style="display:none">修改</a>
		<a href="#" id="del_btn">删除</a></td>
	</tr>
	</tbody>
	<tbody id="show_tbody">
	<tr id="trr" >
		<td style="width:100px" id="no_id">1</td>
		<td style="width:100px">小王</td>
		<td style="width:100px">3000</td>
		<td style="width:200px" id="a"><a href="#" id="save_btn" style="display:none">保存</a>
		<a href="#" id="edit_btn">修改</a>
		<a href="#" id="del_btn">删除</a></td>
	</tr>
	<tr id="trr">
		<td style="width:100px" id="no_id">2</td>
		<td style="width:100px">小李</td>
		<td style="width:100px">4000</td>
		<td style="width:200px" id="a"><a href="#" id="save_btn" style="display:none">保存</a>
		<a href="#" id="edit_btn">修改</a>
		<a href="#" id="del_btn">删除</a></td>
	</tr>
	<tr id="trr">
		<td style="width:100px" id="no_id">3</td>
		<td style="width:100px">小张</td>
		<td style="width:100px">5000</td>
		<td style="width:200px" id="a"><a href="#" id="save_btn" style="display:none">保存</a>
		<a href="#" id="edit_btn">修改</a>
		<a href="#" id="del_btn">删除</a></td>
	</tr>
	<tr id="trr">
		<td style="width:100px" id="no_id">4</td>
		<td style="width:100px">小赵</td>
		<td style="width:100px">6000</td>
		<td style="width:200px" id="a"><a href="#" id="save_btn" style="display:none">保存</a>
		<a href="#" id="edit_btn">修改</a>
		<a href="#" id="del_btn">删除</a></td>
	</tr>
	</tbody>
</table>
</body>
</html>


jQuery的代码如下


$(document).ready(function(){
	var tb = $("#tb");
	
	//添加
	$("#add_btn").click(function(){
		var hideTr = $("#hide_tbody",tb).children().first();
		var newTr = hideTr.clone().show();
		$("#show_tbody",tb).append(newTr);
	});
	
	//保存
	$("#save_btn",tb).die('click').live('click',function(){
			var tr = $(this).parent().parent();
		$("input[type='text']",tr).each(function(i,el){
			el = $(el);
			el.parent().text(el.val());
			el.remove();
		});
		$("#save_btn",tr).hide();
		$("#edit_btn",tr).show();
	});
	
	//修改
	$("#edit_btn",tb).die('click').live('click',function(){
		var tr = $(this).parent().parent();
		$("td:not('#a')",tr).each(function(i,el){
			el = $(el);
			var html = "<input value='"+el.text()+"' type='text'>";
			el.html(html);
		});
		$("#edit_btn",tr).hide();
		$("#save_btn",tr).show();
	});
	
	//删除
	$("#del_btn",tb).die('click').live('click',function(){
		$(this).parent().parent().remove();
	});
	
	//查询
	$("#search_btn").click(function(){
		var key = $("#Ktext").val();
		var sbody = $("#show_tbody");
		var trr = $("#trr",sbody);
		var keyword = $("#no_id",sbody).text();
		for(var i = 0; i < keyword.length;i++)
		{
		if(keyword[i]== key[0]){
			trr.eq(i).show();
		}else{
			trr.eq(i).hide();
		}
		}
	});
	//返回
	$("#back_btn").click(function(){
		var sbody = $("#show_tbody");
		$("#trr",sbody).show();
	
	});
});


虽然有点简陋不过还是蛮实用的。。。

功能展示如下










其中查询功能是按照ID来进行查询的,点返回后可以复原数据

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
很抱歉,我无法提供您请求的文件,因为我是一个文本聊天机器人,无法上传或分享文件。但是,我可以给您提供一些使用 Ajax 和 jQuery 实现表格增删的基本步骤。 1. 引入 jQuery 库和 Ajax 库 在 HTML 页面中,需要引入 jQuery 库和 Ajax 库,例如: ```html <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/jquery-ajax-unobtrusive/3.2.6/jquery.unobtrusive-ajax.min.js"></script> ``` 2. 创建表格 在 HTML 页面中,创建一个表格,并根据需求添加相应的表头和数据行。 ```html <table id="myTable"> <thead> <tr> <th>编号</th> <th>姓名</th> <th>年龄</th> <th>操作</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>张三</td> <td>20</td> <td><button class="editBtn">编辑</button><button class="deleteBtn">删除</button></td> </tr> <tr> <td>2</td> <td>李四</td> <td>22</td> <td><button class="editBtn">编辑</button><button class="deleteBtn">删除</button></td> </tr> <!-- 其他数据行 --> </tbody> </table> ``` 3. 实现数据的增删 在 JavaScript 文件中,使用 Ajax 和 jQuery 实现对表格数据的增删操作。例如: ```javascript // 询数据 function queryData() { $.ajax({ url: '/api/data', type: 'GET', dataType: 'json', success: function (data) { // 将数据渲染到表格中 renderTable(data); } }); } // 渲染表格 function renderTable(data) { var html = ''; $.each(data, function (index, item) { html += '<tr>'; html += '<td>' + item.id + '</td>'; html += '<td>' + item.name + '</td>'; html += '<td>' + item.age + '</td>'; html += '<td><button class="editBtn">编辑</button><button class="deleteBtn">删除</button></td>'; html += '</tr>'; }); $('#myTable tbody').html(html); } // 添加数据 function addData(data) { $.ajax({ url: '/api/data', type: 'POST', data: data, dataType: 'json', success: function () { // 添加成功后重新询数据 queryData(); } }); } // 编辑数据 function editData(id, data) { $.ajax({ url: '/api/data/' + id, type: 'PUT', data: data, dataType: 'json', success: function () { // 编辑成功后重新询数据 queryData(); } }); } // 删除数据 function deleteData(id) { $.ajax({ url: '/api/data/' + id, type: 'DELETE', dataType: 'json', success: function () { // 删除成功后重新询数据 queryData(); } }); } // 监听添加按钮的点击事件 $('#addBtn').click(function () { // 获取表单数据并添加到数据库中 var data = $('#addForm').serialize(); addData(data); }); // 监听编辑按钮的点击事件 $('#myTable').on('click', '.editBtn', function () { // 获取当前行的数据并填充到编辑表单中 var id = $(this).closest('tr').find('td:first').text(); var name = $(this).closest('tr').find('td:eq(1)').text(); var age = $(this).closest('tr').find('td:eq(2)').text(); $('#editId').val(id); $('#editName').val(name); $('#editAge').val(age); // 显示编辑模态框 $('#editModal').modal('show'); }); // 监听编辑模态框的保存按钮的点击事件 $('#editModalSaveBtn').click(function () { // 获取表单数据并更新到数据库中 var id = $('#editId').val(); var data = $('#editForm').serialize(); editData(id, data); }); // 监听删除按钮的点击事件 $('#myTable').on('click', '.deleteBtn', function () { // 获取当前行的编号并删除对应的数据 var id = $(this).closest('tr').find('td:first').text(); deleteData(id); }); // 页面加载完成后询数据并渲染表格 $(function () { queryData(); }); ``` 这样,就可以使用 Ajax 和 jQuery 实现表格的增删操作了。当然,具体的实现方式还需要根据需求进行调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值