Nolia 给CC添加过滤器
思路:
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添加过滤器的更多相关文章
- Hibernate之HQL添加过滤器查询的用法
HQL查询过程中支持添加过滤器.使用步骤是这样的: 首先在要查询的实体对象的映射中使用<filter-def>标签配置过滤器,并在相对应的<class>标签中添加对应的< ...
- 【C#】WebApi 添加过滤器,实现对请求参数和响应内容的日志记录
filter的介绍 filter在Web API中经常会用到,主要用于记录日志,安全验证,全局错误处理等:Web API提供两种过滤器的基本类型:actionfilterattribute,excep ...
- mvc 添加过滤器并添加session缓存判断
功能实现: 登录时添加session缓存.判断是否登录过期. 1.判断是否需要登录判断 public static AdminLoginUser GetAdminLoginUser(){#region ...
- jsp中添加过滤器,实现校验用户身份
我现在需要实现一个功能,就是用户登录前不允许访问系统,我使用的是jsp的过滤器来实现的. 先把filter过滤器的代码粘出来: package com.day8.filter; import java ...
- vue 添加过滤器-以格式化日期为例
vue的filter和angular的pipe管道类似,是过滤器 官网:https://cn.vuejs.org/v2/guide/filters.html 添加格式化日期的全局过滤器 在main.j ...
- AngularJS 表达式中添加过滤器实例
过滤器可以通过一个管道字符(|)和一个过滤器添加到表达式中 历练实例: <!DOCTYPE html><html><head><meta http-equiv ...
- Spring Cloud - Zuul添加过滤器
Zuul作为网关的其中一个重要功能,就是实现请求的鉴权.而这个动作我们往往是通过Zuul提供的过滤器来实现的. 一.过滤器方法的作用 想要使用Zuul实现过滤功能,我们需要自定义一个类继承ZuulFi ...
- Vue-easyui中如何给ComboGrid添加过滤器
1,给ComboGrid绑定监听事件,将事件对象传入.文档:http://www.jeasyui.net/vue/653.html @filterChange="example($event ...
- .NetCore 在不同位置添加过滤器
前言 以ParaModelValidateAttribute(参数校验)和ErrorCatch(错误捕捉)为例. 在方法上添加(局部) 这种方式比较灵活 [ParaModelValidate] [Er ...
随机推荐
- php程序突然不能用file_get_contents()访问远程网址了?
php程序用file_get_contents("http://www.***.com"),一直以来好好的,突然间就不能链接远程网址了,在shell下可以ping通远程网址,可是用 ...
- 雷林鹏分享:Ruby 环境变量
Ruby 环境变量 Ruby 解释器使用下列环境变量来控制它的行为.ENV 对象包含了所有当前设置的环境变量列表. 变量描述 DLN_LIBRARY_PATH动态加载模块搜索的路径. HOME当没有参 ...
- [Java学习] Java包装类、拆箱和装箱详解
虽然 Java 语言是典型的面向对象编程语言,但其中的八种基本数据类型并不支持面向对象编程,基本类型的数据不具备“对象”的特性——不携带属性.没有方法可调用. 沿用它们只是为了迎合人类根深蒂固的习惯, ...
- OnXXX函数与XXX事件的关系
OnPaint是Control类中的方法,Paint是事件,Paint是用于改变部分显示用比较合适,实际上Paint事件在OnPaint中被调用,如果你重写OnPaint但是不调用base.OnPai ...
- mongoDB——自动分片(转)
原文地址:http://www.lanceyan.com/tech/arch/mongodb_shard1.html 在系统早期,数据量还小的时候不会引起太大的问题,但是随着数据量持续增多,后续迟早会 ...
- vs2012修改代码编辑区域的背景色
- openssl 自建CA签发证书 网站https的ssl通信
<<COMMENTX509 文件扩展名 首先我们要理解文件的扩展名代表什么.DER.PEM.CRT和CER这些扩展名经常令人困惑.很多人错误地认为这些扩展名可以互相代替.尽管的确有时候有些 ...
- ubuntu下安装go语言;sublime+gocode搭建;go的卸载和环境变量配个人.bashrc;2空位3个网
https://blog.csdn.net/needkane/article/details/36891949 https://www.jianshu.com/p/4f79ae4f081c http: ...
- learning uboot auto switch to stanbdy system in qca4531 cpu
design: when uboot load kerne failed,we can switch to stanbdy system; how to realize: when boot fail ...
- 微信H5支付 C#
首先奉上 万能的 官方文档 应用场景(废话) H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付. ...