动态添加删除li

            这个功能的需求是这样的,接收人处显示多个用户名(是结果),在输入框输入完成后,回车键或者失去焦点,就去查询,查询结果出来后,通过点击加号再添到接收人处。这样中间有个验错的过程(如果操作的时候输入的用户名错了,可以不点加号,也就不会添加到接收人处)。带出姓名的本意是让操作人员检查一下查询出来的用户是不是要发送的用户,因为客服人员在给用户补发红包之类信息时操作光靠用户名很难确定是不是这个用户。如果查出来直接添到接收人处,那带出姓名就没有意义了。所以把加号放在后面,是让操作人员确认用户名和姓名是否匹配,如果没有问题,再加到接收人处。如下图:

           

              当输入手机号有,在接收手机号处自动生成一个li,并且li横向排列,且到打右侧后自动换行,这个功能主要是js大显身手,下面看一下我的js:

           

1、前后台数据传输
//查询用户信息
function IfUserExist(username){
	var name = username.value;

	if ($.trim(name) == "") {
		return;
	} else {
		$.ajax({
			type : "POST",
			url:getRootPath()+ '/servlet/defaultDispatcher?__action=SiteMessageService.getUserInfo&USERNAME='+ $("#UserName").val(),
			dataType:"json",
			success:function(dataBack) {
				if (!dataBack.UserName ) {
					$("#UserName").val("");
					return;
				}
				//该文本框只读
				$("#RealName").val(dataBack.RealName).attr("disabled",true);
				//将存放userid的hidden置空
				$("#ids").val("");
				$("#ids").val(dataBack.Id);
			}
		});
	}

}
<pre name="code" class="javascript">2、动态生成和删除li
	jsp中创建ul
		<ul class="chzn-choices" id="chosen" name="chosen"></ul>
	动态创建li
		function add(){
			  //获取ul节点信息
			  var ul=document.getElementById('chosen');
			  //创建一个li
			  var li= document.createElement("li");
			  //获取用户名
			  var username=document.getElementById('UserName').value;
			  //获取已经查询到的用户id-该用户id已放入一个hidden中
			  var userId=document.getElementById('ids').value;
			  if(!username || ""==username){
				  $("#USERNAME").focus();
				  return;
			  }
			  //给该li赋值
			  li.innerHTML=username+",";
			  //给该li赋id
			  li.id=username+"_"+userId;
			  //给该li赋class
			  li.className ='title';
			  li.title="单击以删除";
			  ul.appendChild(li);
			  $("li").click(function(){
					del(li.id);
			  })
			  $("#UserName").val("");
			  $("#RealName").val("");
		}
//单击以删除
function del(n)
{
	var li = $("ul li[id='"+n+"']");
 	li.remove();
}

截取字符串并将多个li的id拼成字符串传到后台
		//判断是否有接收人
			var li=document.getElementById("chosen").getElementsByTagName("li");

			//遍历li并获取值放到hidden中
		     for(var i = 0; i < li.length; i++){
		    	 var liInfo = $("#chosen li")[i];
		    	 var liId=liInfo.id;
		    	 //获取最后一个下划线的索引
		    	 var lastIndex = liId.lastIndexOf('_');
		    	 //获取最后一个下划线后的字符串即userid
		    	 var lastStr = liId.substring(lastIndex + 1)+",";
		    	 //查询出所有id,组成字符串
		    	 var str=lastStr+str;
		    	 //将该字符串赋值给hidden
		    	 $("#chosens").val(str);

     }   

横排的li达到一定长度自动换行
float:left;/*li自动换行*/
				
时间: 2024-09-20 01:07:53

动态添加删除li的相关文章

android一个动态添加删除网格视图的demo,可把状态保存在数据库中

转自: http://www.apkbus.com/forum.php?mod=viewthread&tid=166579 一个动态添加删除网格视图的demo,可把状态保存在数据库中,用于下次进来继续用.里面还有对不同item进行跳转,动画效果...总之十分好用,希望给大家带来帮助.有图有真相,亲们 ,赶快行动吧!! 数据库, 动态 本主题由 jnhoodlum 于 2014-4-1 16:32 添加图标 原创 a2.png(158.32 KB, 下载次数: 5) 点击添加进入添加应用页面,打钩

jquery动态添加删除div 具体实现

这篇文章介绍了jquery动态添加删除div实现代码,有需要的朋友可以参考一下   复制代码 代码如下: <script type="text/javascript" src="jquery.js"></script> <body> <form action="" method="post" enctype="multipart/form-data"> <

JQuery实现动态添加删除评论的方法

  本文实例讲述了JQuery实现动态添加删除评论的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

利用js动态添加删除table行的示例代码

 本篇文章主要是对利用js动态添加删除table行的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 如下所示:    代码如下: //动态添加行 function addRow(){    var table = document.getElementById("tableID");    var newRow = table.insertRow(); //创建新行    var newCell1 = newRow.insertCell(); //创建新单元格    

jQuery使用toggleClass方法动态添加删除Class样式的方法

这篇文章主要介绍了jQuery使用toggleClass方法动态添加删除Class样式的方法,实例分析了jQuery中toggleClass方法操作class样式的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jQuery使用toggleClass方法动态添加删除Class样式的方法.分享给大家供大家参考.具体分析如下: jQuery通过toggleClass方法动态添加删除Class,一次执行相当于addClass,再次执行相当于removeClass,运行下面的代码

动态添加删除表格行的js实现代码

 本篇文章主要是对动态添加删除表格行的js实现代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下: <html> <head> <script language="javascript">   //窗口表格增加一行   function addNewRow(){    var tabObj=document.getElementById("myTab");//获取添加数据的表格    var rowsNum

jquery动态添加删除一行数据示例

 这篇文章主要介绍了jquery如何动态添加删除一行数据,需要的朋友可以参考下 <html> <head> <title>添加.删除一行</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="../js/

JQuery实现动态添加删除评论的方法_jquery

本文实例讲述了JQuery实现动态添加删除评论的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

easyui-小菜鸟请教各位动态添加删除jsp页面一行input表格

问题描述 小菜鸟请教各位动态添加删除jsp页面一行input表格 主要是点击增加按钮,实现添加一行input单元格,并可以删除 麻烦各位了,谢谢,http://ask.csdn.net/my# 解决方案 给你一个纯js的样例,希望对你的基础能力有帮助 function DeleteRouteTable(divId, riF, nameF, msgF){ this.riField = riF; this.nameField = nameF; this.msgField = msgF; var di