JQuery实现标签的删除与添加

JQuery实现标签的删除与添加

  • 功能描述:
    点击tag标签的X能删除标签,点击添加能弹出输入框填写标签的文字,完成后可以展示新添加的标签
    在这里插入图片描述
  • html代码

<div class="card-body row">
	 // 第三级分类 
	<div class="col-10 elementClass">
		//原来有的两个子标签
		<span class="mx-1 border border-primary rounded p-1" style="color:rgb(0,123,255)">光学<a style="text-decoration: none;" href="javascript:;" onclick="delElement(this)">&times;</a></span>
		<span class="mx-1 border border-primary rounded p-1" style="color:rgb(0,123,255)">力学<a style="text-decoration: none;" href="javascript:;" onclick="delElement(this)">&times;</a></span>
	</div>
	<!-- Button trigger modal -->
	<button type="button" class="btn btn-primary col-1" data-toggle="modal" data-target="#staticBackdrop3_1"> 添加</button>

	//点击添加按钮弹出的Modal框
	<div class="modal fade" data-backdrop="static" id="staticBackdrop3_1" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
		<div class="modal-dialog">
			 <div class="modal-content">
			 	//模态框头部标题
				<div class="modal-header">
					<h5 class="modal-title" id="staticBackdropLabel">添加子分类</h5>
					<button type="button" class="close" data-dismiss="modal" aria-label="Close">
						<span aria-hidden="true">&times;</span>
					</button>
				 </div>
				 //模态框输入框
				<div class="modal-body text-center inputFather">
					<input type="text" class="elementInput" width="450px">
				</div>
				//模态框底部按钮
				<div class="modal-footer">
					<button type="button" class="btn btn-primary" onclick="addElement(this)">添加</button>
					<button type="button" class="btn btn-secondary" data-dismiss="modal">取消</button>
				 </div>
			</div>
		</div>
	</div>
		// 第三级分类结束
</div>
  • jQuery代码
// 删除子分类
	function delElement(obj) {
	//获取当前对象的父元素,在其下寻找id为“id”的元素的值
    // var id1=$(obj).parents("tr").find("#id").val();
    // obj.preventDefault();
    var res=confirm("确定要删除么?");
    if(res){
        //删除界面元素,当前行
        $(obj).parent("span").remove();
    }
	}

	// 添加元素
	function addElement(obj) {
		console.log(obj);
		//获取input的值
			//获取用户修改的值只能用val()方法
			//获取文本域的值并且去掉前后的空格
			var myVal = $.trim($(obj).parent().prev().children().val());
				//判断输入是否为空
				if(myVal == ''){
					alert('分类不能为空!');
					//清空文本域
					$('.elementInput').val('');
				}else if (myVal.length >= 10) {
					alert('输入的文字不能超过10个字');
				}else {
					var myTag = $('<span class="mx-1 border border-primary rounded p-1" style="color:rgb(0,123,255)">'+myVal+'<a style="text-decoration: none;" href="javascript:;" οnclick="delElement(this)">&times;</a></span>');
					//添加
					$(obj).parents('.card-body').children('.elementClass').prepend(myTag);
					//为了用户体验,提交后要清空文本域
					$('.elementInput').val('');
				}
	}

到此逻辑就完成了,感觉最重要的是能在页面中找到你需要的dom元素进行操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值