指定发送到个人或多人(有点类似qq的创建多人聊天)带有搜索框
来源:互联网 发布:波音737max10数据 编辑:程序博客网 时间:2024/04/28 02:41
话不多少,直接上图看效果:
接下来我们来看看源码:
// 查询学生$('.search-student-icon').click(function () { var a = $(this).parents('.search-student').find('.placeholder-input').val(); // alert(i); if(a != ""){//如果查询内容为空则不进行查询操作 //使用正则表达式来匹配 var reg=new RegExp(a); //如果匹配到班级名则进行显示班级里的全部学生人数 var stu_html = ''; //通过循环来进行遍历查找 for (var i = 0; i < self.classes.length; i++) { var b=self.classes[i].Title; if (b.match(reg)) { stu_html += '<div class="select-class-box">' + ' <div class="select-class-title">' + ' <i class="select-class-icon"></i>' + ' <span class="select-class-name">' + self.classes[i].Title + '</span>' + ' </div>' + ' <ul class="select-student-list">'; if (self.stus[i].length > 0) { for (var j = 0; j < self.stus[i].length; j++) { stu_html += ' <li data-id="' + self.stus[i][j].Id + '">' + ' <img src="http://www.yixuexiao.cn//avator/' + self.stus[i][j].Id + '/30?avator=" class="select-img">' + ' <span class="select-name">' + self.stus[i][j].DisplayName + '</span>' + ' </li>'; } } stu_html += ' </ul>' + '</div>'; }else{ //匹配学生 if (self.stus[i].length > 0) { var num=0; for (var j = 0; j < self.stus[i].length; j++) { var stu=self.stus[i][j].DisplayName; //匹配上的话 if(stu.match(reg)){ //是否要添加班级名,第一次匹配上要添加班级名 if(num==0){ stu_html += '<div class="select-class-box">' + ' <div class="select-class-title">' + ' <i class="select-class-icon"></i>' + ' <span class="select-class-name">' + self.classes[i].Title + '</span>' + ' </div>' + ' <ul class="select-student-list">'; num++; } stu_html += ' <li data-id="' + self.stus[i][j].Id + '">' + ' <img src="http://www.yixuexiao.cn//avator/' + self.stus[i][j].Id + '/30?avator=" class="select-img">' + ' <span class="select-name">' + self.stus[i][j].DisplayName + '</span>' + ' </li>'; } } } stu_html += ' </ul>' + '</div>'; } } $('.select-list').html(stu_html); layer.close(index); //指定学生选择列表班级展开 $(".select-class-box").on("click", ".select-class-title", function () { if ($(this).is('.open')) { $(this).removeClass('open'); $(this).siblings(".select-student-list").slideUp(); } else { $(".select-class-box .select-class-title").removeClass('open'); $(".select-class-box .select-student-list").slideUp(); $(this).addClass('open'); $(this).siblings(".select-student-list").slideDown(); } }); //指定学生选择列表学生选中 $(".select-class-box .select-student-list").on("click", "li", function () { if (!$(this).is('.select')) { $(this).addClass('select add'); } else if ($(this).is('.add')) { $(this).removeClass('select add'); } }); /* $(".select-list li").on("click","li",function(){ if (!$(this).is('.select')) { $(this).addClass('select add'); } else if ($(this).is('.add')) { $(this).removeClass('select add'); } });*/ //遍历查看右侧是否有选中 $('.send-window-right li').each(function () { var rid=$(this).attr('data-id'); $('.select-student-list li').each(function(){ var lid=$(this).attr('data-id'); if (rid===lid) { // alert(rid+"==="+lid); $(this).addClass('select'); } }) }) //指定学生选择 $('.send-window-middle').click(function () { var imgArray = new Array;//创建图片数组 var nameArray = new Array;//创建学生名字数组 var idArray = new Array;//创建id数组 //遍历选中元素 $(".select-student-list li.add").each(function (index, doDom) { imgArray[index] = $(doDom).find('.select-img').attr("src");//存储图片地址 nameArray[index] = $(doDom).find('.select-name').html();//姓名 idArray[index] = $(doDom).attr('data-id');//id }); //alert(nameArray.length); //添加到右侧栏目 for (var ia = 0; ia < imgArray.length; ia++) { //alert(imgArray[ia]); $('.selected-list ul').append('<li data-id="'+idArray[ia]+'"><a class="del-selected"></a><img src="'+imgArray[ia]+'" class="selected-img"/><span class="selected-name">'+ nameArray[ia]+'</span></li>'); }; $(".send-window-left li").removeClass('add'); //计算选中学生 var selectedStu = $('.selected-list ul li').length; $('.selected-number').html("已选联系人:" + selectedStu + "人"); }); //右栏删除已选中学生 $('.selected-list').on("click", "li .del-selected", function () { var dataId = $(this).closest('li').attr('data-id'); $(this).closest('li').remove(); //遍历删除左侧选中 $('.send-window-left li').each(function () { var selected = ($(this).attr('data-id') == dataId); if (selected) { $(this).removeClass('select'); } }) //计算选中学生 var selectedStu = $('.selected-list ul li').length; $('.selected-number').html("已选联系人:" + selectedStu + "人"); }); }else{ //显示全部班级的内容 var stu_html = ''; //通过循环来进行遍历查找 for (var i = 0; i < self.classes.length; i++) { stu_html += '<div class="select-class-box">' + ' <div class="select-class-title">' + ' <i class="select-class-icon"></i>' + ' <span class="select-class-name">' + self.classes[i].Title + '</span>' + ' </div>' + ' <ul class="select-student-list">'; if (self.stus[i].length > 0) { for (var j = 0; j < self.stus[i].length; j++) { stu_html += ' <li data-id="' + self.stus[i][j].Id + '">' + ' <img src="http://www.yixuexiao.cn//avator/' + self.stus[i][j].Id + '/30?avator=" class="select-img">' + ' <span class="select-name">' + self.stus[i][j].DisplayName + '</span>' + ' </li>'; } } stu_html += ' </ul>' + '</div>'; } $('.select-list').html(stu_html); layer.close(index); //指定学生选择列表班级展开 $(".select-class-box").on("click", ".select-class-title", function () { if ($(this).is('.open')) { $(this).removeClass('open'); $(this).siblings(".select-student-list").slideUp(); } else { $(".select-class-box .select-class-title").removeClass('open'); $(".select-class-box .select-student-list").slideUp(); $(this).addClass('open'); $(this).siblings(".select-student-list").slideDown(); } }); //指定学生选择列表学生选中 $(".select-class-box .select-student-list").on("click", "li", function () { if (!$(this).is('.select')) { $(this).addClass('select add'); } else if ($(this).is('.add')) { $(this).removeClass('select add'); } }); //指定学生选择 $('.send-window-middle').click(function () { var imgArray = new Array;//创建图片数组 var nameArray = new Array;//创建学生名字数组 var idArray = new Array;//创建id数组 //遍历选中元素 $(".select-student-list li.add").each(function (index, doDom) { imgArray[index] = $(doDom).find('.select-img').attr("src");//存储图片地址 nameArray[index] = $(doDom).find('.select-name').html();//姓名 idArray[index] = $(doDom).attr('data-id');//id }); //alert(nameArray.length); //添加到右侧栏目 for (var ia = 0; ia < imgArray.length; ia++) { //alert(imgArray[ia]); $('.selected-list ul').append('<li data-id="'+idArray[ia]+'"><a class="del-selected"></a><img src="'+imgArray[ia]+'" class="selected-img"/><span class="selected-name">'+ nameArray[ia]+'</span></li>'); }; $(".send-window-left li").removeClass('add'); //计算选中学生 var selectedStu = $('.selected-list ul li').length; $('.selected-number').html("已选联系人:" + selectedStu + "人"); }); //遍历查看右侧是否有选中 $('.send-window-right li').each(function () { var rid=$(this).attr('data-id'); $('.select-student-list li').each(function(){ var lid=$(this).attr('data-id'); if (rid===lid) { // alert(rid+"==="+lid); $(this).addClass('select'); } }) }) //右栏删除已选中学生 $('.selected-list').on("click", "li .del-selected", function () { var dataId = $(this).closest('li').attr('data-id'); $(this).closest('li').remove(); //遍历删除左侧选中 $('.send-window-left li').each(function () { var selected = ($(this).attr('data-id') == dataId); if (selected) { $(this).removeClass('select'); } }) //计算选中学生 var selectedStu = $('.selected-list ul li').length; $('.selected-number').html("已选联系人:" + selectedStu + "人"); }); }});
0 0
- 指定发送到个人或多人(有点类似qq的创建多人聊天)带有搜索框
- 聊天自动发送消息给指定的人或群
- 类似QQ聊天的东西
- 类似QQ中“好友”、“群”、“多人聊天”之间在一个Activity里面切换界面
- java发送qq消息到指定qq
- VC实现类似qq聊天粘贴发送文件
- 一个类似QQ的java聊天程序
- 实现类似qq的聊天小程序
- 类似qq的IM聊天应用源码
- 类似QQ的聊天气泡效果
- iOS开发中应用内跳转到QQ聊天界面和指定的联系人聊天
- 类似QQ聊天界面
- Android/IOS/Web跳转第三方QQ指定QQ号的聊天框,实现陌生人聊天
- ANDROID中根据QQ号码或者QQ群号码,跳转到指定的QQ号码聊天或者QQ群方法
- qq跳转到指定qq聊天消息窗口界面
- android ios中代码打开qq与指定号码的人聊天
- iOS 打开指定的QQ聊天界面
- Swift - QQ讨论组头像的实现 (多人聊天的组合头像)
- 51Nod1381 硬币游戏
- 乐观锁和悲观锁
- Docker入门记录 [3]
- Unity3d-调用iPhone或则iOS自带的Maill App去发送邮件
- 车牌定位--颜色分割
- 指定发送到个人或多人(有点类似qq的创建多人聊天)带有搜索框
- BZOJ 2141 排队 分块+树状数组,详细题解
- WebService学习总结——调用第三方提供的webService服务
- AAC ADTS格式分析
- HDU4720(简单几何)
- 家庭装修中忌用的几种颜色
- struts2_11.1_OGNL(1)
- 欢迎使用CSDN-markdown编辑器
- Android内存泄露分析工具LeakCanary