思路:

1.使用jqurey-tagput ,做得不好看,领导不满意

2.使用bootstrap select2这个控件,

思路:

1.添加css和js的文件

2.添加标签的时候,根据id拼接标签,addSearBox的时候会添加初始化数据,根据不同的id进行初始化;这样添加的时候界面就变化了

3.后来刷新界面以后,页面发生变化,做了这样的操作,添加这样的代码

4.添加选择,和非选择的事件,这点还是很麻烦的;用了一个小算法

var id = target.attr('id');//CC=basic-14
if(id=="basic-14"){
$.ajax({
type:"get",
url:"http://localhost:8080/4booking/js/CCtest.json",
dataType:"json",
asynchronous:true,
contentType:"application/json",
success:function(data){
//alert("success");
var data1 = $(data.items);
var result = [];
$.each(data1,function(infoIndex,info){ if(info.business == "" && info.owner == "")
{ result.push({id: info.id, text: info.name});
}
else{ result.push({id: info.id, text: info.name+ ":"+ info.owner + "," + info.business});
} })
// oneReq = result;
$("#basic-14").select2({
data: result,
placeholder:'Please Select',//默认文字提示
// language: "en",//汉化
allowClear: true//允许清空
})
var temp =[];//删除保存上一次
var tmp1 =[];//保存上一次
$("#basic-14").on("select2:select",function(e){
//1.获取数据
//2.添加标签
   // e 的话就是一个对象 然后需要什么就 “e.参数” 形式 进行获取
    //alert("我选择了");
   var ids= $("#basic-14").select2('val');
   var arrIds = ids.toString().split(',');
   temp = arrIds;
   //tmp1 = arrIds;
  
  // alert(tmp1);
   //alert(ids);//添加的时候没有添加对,因为数组是动态的
   if(tmp1==null){
   tmp1 = [];
   }
   if(tmp1.length==0){
   //alert("我的 00");
   addTreeSubmitInput("basic-14", ids[0]);
   }else{
   //alert("1111111");
   for(var i=0;i<ids.length;i++){//每一个值
var num = 0;
for(var j=0;j<tmp1.length;j++){
if(ids[i]!=tmp1[j]){
num++;
}
} if(num==tmp1.length){
//alert("addddd");
addTreeSubmitInput("basic-14", ids[i]);
break;
} }
  
   }
   tmp1 = ids;
  
  console.log(e);
})
$("#basic-14").on("select2:unselect",function(result){
//1.获取数据
//2.添加标签
//$('#' + 'qqq' + '_treeSubmitInput').remove();
var ids= $("#basic-14").select2('val');
tmp1 = ids;
//alert(tmp1);
//alert(ids);
//alert(temp);
if(ids==null){
//alert("xxxxx");
$('#' + temp[0] + '_treeSubmitInput').remove();
}else{
for(var i=0;i<temp.length;i++){//每一个值
var num = 0;
for(var j=0;j<ids.length;j++){
if(temp[i]!=ids[j]){
num++;
}
//alert(num); }
//alert("xxx"); if(num==ids.length){
//alert(temp[i]);
if(ids!=null){
$('#' + temp[i] + '_treeSubmitInput').remove();
} console.log(temp[i]);
break;
} } }
temp = ids;
  
})
//alert($(oneReq).size());
},
error:function(data){
alert("lose");
}
});

Nolia 给CC添加过滤器的更多相关文章

  1. Hibernate之HQL添加过滤器查询的用法

    HQL查询过程中支持添加过滤器.使用步骤是这样的: 首先在要查询的实体对象的映射中使用<filter-def>标签配置过滤器,并在相对应的<class>标签中添加对应的< ...

  2. 【C#】WebApi 添加过滤器,实现对请求参数和响应内容的日志记录

    filter的介绍 filter在Web API中经常会用到,主要用于记录日志,安全验证,全局错误处理等:Web API提供两种过滤器的基本类型:actionfilterattribute,excep ...

  3. mvc 添加过滤器并添加session缓存判断

    功能实现: 登录时添加session缓存.判断是否登录过期. 1.判断是否需要登录判断 public static AdminLoginUser GetAdminLoginUser(){#region ...

  4. jsp中添加过滤器,实现校验用户身份

    我现在需要实现一个功能,就是用户登录前不允许访问系统,我使用的是jsp的过滤器来实现的. 先把filter过滤器的代码粘出来: package com.day8.filter; import java ...

  5. vue 添加过滤器-以格式化日期为例

    vue的filter和angular的pipe管道类似,是过滤器 官网:https://cn.vuejs.org/v2/guide/filters.html 添加格式化日期的全局过滤器 在main.j ...

  6. AngularJS 表达式中添加过滤器实例

    过滤器可以通过一个管道字符(|)和一个过滤器添加到表达式中 历练实例: <!DOCTYPE html><html><head><meta http-equiv ...

  7. Spring Cloud - Zuul添加过滤器

    Zuul作为网关的其中一个重要功能,就是实现请求的鉴权.而这个动作我们往往是通过Zuul提供的过滤器来实现的. 一.过滤器方法的作用 想要使用Zuul实现过滤功能,我们需要自定义一个类继承ZuulFi ...

  8. Vue-easyui中如何给ComboGrid添加过滤器

    1,给ComboGrid绑定监听事件,将事件对象传入.文档:http://www.jeasyui.net/vue/653.html @filterChange="example($event ...

  9. .NetCore 在不同位置添加过滤器

    前言 以ParaModelValidateAttribute(参数校验)和ErrorCatch(错误捕捉)为例. 在方法上添加(局部) 这种方式比较灵活 [ParaModelValidate] [Er ...

随机推荐

  1. 一个或多个音频服务未运行 win7 错误1079:此服务的账户不同于运行于同一进程上的其他服务账户

    一个或多个音频服务未运行 win7 错误1079:此服务的账户不同于运行于同一进程上的其他服务账户 启动任务管理器:右键计算机——管理——”服务和应用程序“选项——”服务“——找到“windows a ...

  2. android--------阿里 AndFix 热修复

    AndFix,全称是Android hot-fix.是阿里开源的一个热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug. 支持Android 2.3 到 6.0,并且支持arm 与 X86 ...

  3. Android发展历程

    Android历代版本的命名: 我们都是知道,安卓系统的历来的名称都是很有意思的,下面无限互联Android培训的老师归纳了一下:Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的 ...

  4. 『Networkx』常用方法

    这是一个用于分析'图'结构的包,由于我只是用到了浅显的可视化功能,所以这个介绍会对其使用浅尝辄止. 解决matplotlib中文字体缺失问题, from pylab import mpl mpl.rc ...

  5. js在类似数组的对象中使用push

    let obj = { "2": "a", "3": "b", length: 3, push: Array.proto ...

  6. Delphi中的文件扩展名

    Filename Extensions in Delphi http://delphi.about.com/od/beginners/a/aa032800a.htm Try building a sm ...

  7. Ant里面神奇的fork

    最近两天一直在处理ant运行java程序的一个问题,用IDE直接运行类里面的main函数一切正常,但用ant跑该函数就报错误,错误的原因是运行ant任务时调用的是AntClasloader,而IDE里 ...

  8. beta阶段贡献分配实施

    作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2281] 要求1 每位组员的贡献分值   刘莹莹 王玉潘 潘世维 周昊 赵美增 ...

  9. php 易忽略问题

  10. Linux:查看进程运行时间

    查看进程运行时间 应用ps命令,加选项-Ao,加参数,最后过滤. ps -Ao pid,tty,user,stime,etime,comm,args| grep firefox pid:进程ID tt ...