jQuery实现简单的增加删除修改

    老师带着做了一个小例子,可实现增加删除数据,勾选删除和全选删除。ISBN值不能重复,当输入相同的ISBN值时,只修改后面的书籍名。效果图如下:
在这里插入图片描述
    此代码体现的思路清晰明了,代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script src="../js/jquery.min.js"></script>
	</head>
	<body>
		<input type="text" name="ISBN" id="ISBN"/>
		<input type="text" name="bookname" id="bookname"/>
		<button id="add">增加</button>
		<table id="tb1">
			<theader>
				<tr>
					<td><input type="checkbox" name="chkall" id="chkall"></td>
					<td>
						ISBN
					</td>
					<td>
						书名
					</td>
					<td>删除</td>
				</tr>
			</theader>
		</table>
		<button id="delAll">删除</button>
		
		<script>
			$(document).ready(function(){
				$("#add").click(function(){
					var chk = $("input[type='checkbox'][value='"+ $("#ISBN").val() +"']");//获取已经存在的ISBN的值
					//当前元素
					// 获取父元素 
					//  parent()
					//  parents(选择器)
					//  parentsUntil(选择器)
					// 查找兄弟节点:
					//   next()、nextAll、nextUntil
					//   prev()、prevAll、prevUntil 
					
					if (chk.length !=0 ) {
						//若发现有与“ISBN”值相同的输入,则只改变其输入的“书名”值
						$(chk).parent().next().next().html($("#bookname").val());
					} else {
						var str="<tr>" 
					        + "<td><input type='checkbox' name='chkBook'" 
					       	+  "value='"+$("#ISBN").val()+ "'></td>"
					        + "<td>" + $("#ISBN").val() + "</td>"
					        + "<td>" + $("#bookname").val() + "</td>"
					       // + "<td><button onclick='delTr(this)'>x</button></td>"
					        + "<td><button data-role='del'>x</button></td>"
						$("#tb1").append(str);
					}
					
					
				});
				
				$("#chkall").click(function(){
					//console.log($("#chkall:checked"));
					$("input[name='chkBook']").prop("checked",$(this).prop("checked"));
				})
				
				$("#delAll").click(function(){
					//alert($("input[name='chkBook']:checked").val());
					$("input[name='chkBook']:checked").parents("tr").remove();
				});
				
				//jQuery当中,动态添加的元素,不能直接使用$().on()绑定事件监听器
				/*
				$("#tb1").on("click","button[data-role='del']",function(){
					$(this).parents("tr").remove();
				})*/
				
				//1: jQuery的事件动态绑定
				//2: javaScript的事件流  addEventListener
				//3: 事件委托
				$("# ").on("click",function(event){
					console.log(event);
					//var tg =event.target || event.targetSrc;
					if (event.target.getAttribute("data-role") == "del") {
						$(event.target).parents("tr").remove();
					}
				})
				
			})
//			function delTr(obj) {
//					$(obj).parents("tr").remove();
//			}
			
		</script>
	</body>
</html>

    部分地方都做好了注释,本人觉得此代码还是有些价值的。若有任何看不懂的地方请在下方评论留言,谢谢。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值