`
akinlong
  • 浏览: 70689 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

基于Ext3.3的可多选下拉框

阅读更多

在项目中需要可以多选的下拉框,经过研究最终得出了以下成果,特此标记

Ext.namespace("ycl.Widgets");
Wg = ycl.Widgets;
//范例
//var store = new Ext.data.ArrayStore({
//    fields: ['abbr', 'value'],
//    data : [['1','a'],['2','b'],['3','c']]
//});
//	combox = new Wg.MultiCombox({
//		store : store,
//		id : 'abbr',
//		name : 'value',
//		applyTo : 'test'
//		hiddenValue : '1,2,3'//初始化展示,选中值
//	});
//	combox.init(true);
//	alert(combox.getComboxValue());
//  <input type="text" id="test" size="20"/>
Wg.MultiCombox = function(_cfg) {
	Ext.apply(this, _cfg);
};
Ext.apply(
Wg.MultiCombox.prototype,
{
	init : function(_select) {//_select是否需要选择框
		var obj = this;
		var store = '';
		if(!obj.store){
			//如果store为空,创建后台store
			if(obj.url){
				Wg.alert('错误','缺少数据源');
				return;
			}
			url = obj.url;
			var index = [{name : 'name'}, {name : 'value'}];
			store = new Ext.data.JsonStore({
				autoLoad : true,
	            fields: index,
	            url : this.url//this.responseJson(response, list, false);
			},[]);
		}else
			store = obj.store;
		name = Ext.isEmpty(obj.name)?'name':obj.name;
		id = Ext.isEmpty(obj.id)?'value':obj.id;
		if(!obj.applyTo){
			Wg.alert('错误','下拉框缺少指向');
			return;
		}
		var applyTo = obj.applyTo;
		var tpl = '';
		if(_select){
			tpl = '<tpl for="."><div class="x-combo-list-item"><span><input type="checkbox" {[values.check?"checked":""]} value="{[values.'+id+']}"/></span><span>{'+name+'}</span></div></tpl>';
		}
		this.multiCombox = new Ext.form.ComboBox(
				{
					store : store,
					displayField : name,
					valueField : id,
					typeAhead : true,
					mode : 'local',
					triggerAction : 'all',
					selectOnFocus : true,
					emptyText:'请选择',
					applyTo : applyTo,
					editable : false,
					resizable : true,
					tpl : tpl,
					shadow : 'drop',
					onSelect : function(record, index) {
						if (this.fireEvent('beforeselect',
								this, record, index) !== false) {
							var strkey = [];
							var strvalue = [];
							if(_select){
								record.set('check', !record
										.get('check'));
								this.store.each(function(rc) {
									if (rc.get('check')) {
										strkey.push(rc.get(id));
										strvalue.push(rc.get(name));
									}
								});
							}else{
								strkey.push(record.get(id));
								strvalue.push(record.get(name));
							}
//							this.setValue(strkey.join());
							obj.hiddenValue = strkey.join();
//							this.value = strvalue.join();
							Ext.getDom(applyTo).value = strvalue.join();
							this.fireEvent('select', this,
									record, index);
						}
					},
					listeners : {"expand" : function(){//在展开时根据默认值选中项
						if(obj.hiddenValue){
							hiddenValue = obj.hiddenValue.split(',');
							store.each(function(rc) {
								for(var i=0;i<hiddenValue.length;i++){
									var eares = hiddenValue[i];
									if (rc.get(id) == eares) {
										rc.set('check', true);
									}
								}
							});
						}
					}}
				});
		if(obj.hiddenValue){//初始化默认展示值
			hiddenValue = obj.hiddenValue.split(',');
			var strvalue = [];
			store.each(function(rc) {
				for(var i=0;i<hiddenValue.length;i++){
					var eares = hiddenValue[i];
					if (rc.get(id) == eares) {
						strvalue.push(rc.get(name));
					}
				}
			});
			Ext.getDom(applyTo).value = strvalue.join();
		}
	},
	getComboxValue : function() {
		return this.hiddenValue;
	}
});
Ext.QuickTips.init();

 

 

0
2
分享到:
评论

相关推荐

    基于ext3.3的可多选下拉框js

    基于ext3.3的可多选下拉框js,可以从前台或者后台获取下拉框中数据

    带复选框的下拉框

    原版的控件在Ext 3.3及以上版本可能存在BUG,但经过修改后的版本修复了这个问题,确保在3.2、3.3和3.4版本中都能正常工作。 复选框下拉框控件通常用于需要用户选择多个值的场景,例如在设置偏好、筛选条件或分配...

    欧姆龙NB系列触摸屏高级配方程序集:基于索引寄存器与宏功能设计,涵盖200个配方组,支持快速搜索套用,欧姆龙NB系列触摸屏配方程序设计:宏功能支持,灵活搜索及直接套用配置方案,欧姆龙NB系列触摸屏配方

    欧姆龙NB系列触摸屏高级配方程序集:基于索引寄存器与宏功能设计,涵盖200个配方组,支持快速搜索套用,欧姆龙NB系列触摸屏配方程序设计:宏功能支持,灵活搜索及直接套用配置方案,欧姆龙NB系列触摸屏配方程序,NB-Designer,基于触摸屏索引寄存器设计,含有宏功能。 有200个配方组,支持配方号搜索功能,支持配方名称搜索功能,已测试,可以直接套用。 ,欧姆龙NB系列;触摸屏配方程序;NB-Designer;触摸屏索引寄存器设计;宏功能;200个配方组;配方号搜索功能;配方名称搜索功能;已测试。,欧姆龙NB系列触摸屏配方程序:宏功能强化,便捷搜索,已测试可用

    光电直读水表下行通信规约标准188

    光电直读水表下行通信规约标准188

    北京大学-DeepSeek系列-提示词工程和落地场景.pptx

    北京大学-DeepSeek系列-提示词工程和落地场景.pptx

    FileInfoModifier1.0一款专注于文件属性多项元数据修改的实用工具.exe

    FileInfoModifier是一款专注于文件属性修改的实用工具,适用于需要定制化文件信息或优化工作流程的场景,能帮助用户灵活调整文件的多项元数据。其核心功能丰富多样,支持修改文件的创建时间、修改时间、访问时间等时间戳属性,以满足特定需求,如项目进度管理;可编辑文件的版本信息、描述、版权声明等高级属性,适用于软件开发和文档管理;内置加密功能,能对文件进行加密处理,同时可修改文件的只读、隐藏、系统文件等属性,提升文件安全性;还提供文件大小、MD5值等基础信息查看功能,辅助校验文件完整性。软件特色鲜明,操作简便,界面简洁直观,仅需选择文件、输入属性、点击修改这三步即可完成属性修改;轻量高效,体积小巧(最新版约845KB),运行速度快,兼容Windows系统;且支持多版本,如增强属性编辑项、修复系统兼容性问题等。该工具适用场景广泛,在办公场景中可调整文件时间戳来模拟工作进度或文件版本迭代记录;在开发测试中能修改软件版本信息或版权声明以适配不同环境需求;在数据管理方面可通过加密和隐藏功能保护敏感文件安全。

    C++环境下的光学测量技术模拟:格雷码相位移与多频外差编码解码系统,基于C++的格雷码与外差法光学测量技术模拟:相位编码与解码实现 ,格雷码,外差 基于c++版本相位编码与解码 GrayCoding

    C++环境下的光学测量技术模拟:格雷码相位移与多频外差编码解码系统,基于C++的格雷码与外差法光学测量技术模拟:相位编码与解码实现。,格雷码,外差 基于c++版本相位编码与解码 GrayCoding 类 为相移+格雷码的编码与解码程序 MultiFrequency 类 为三频外差的编码与解码程序 Main为运行代码的主程序,包含了两种方法的执行示例 实现了两种光学测量技术的计算机模拟:多频外差法和格雷码法。它使用了OpenCV库来处理图像和矩阵运算,编写于C++环境中。代码分为两个主要部分,分别对应于两种技术。 多频外差法 (MultiFrequency 类) 生成条纹图像 (GenerateFringe 方法): 生成三个不同频率的四步相移条纹图像。 使用三个不同的频率比值(70, 64, 59)和固定的条纹宽度。 每个频率生成四个相移图像,总共生成12张图像。 解码 (SolvePhase 方法): 输入为12张相移图像。 首先计算每个频率的包裹相位。 然后进行外差操作,结合不同频率的包裹相位,计算出最终的外差相位。 最后,通过外差相位和原始相移相位计算出绝对相位。 格

    【毕业设计】springboot+Vue人力资源管理系统【源码+论文+答辩ppt+开题报告+任务书】.zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    基于主从博弈的综合能源微网与共享储能优化运行研究:迭代算法探索与利益相关者的博弈策略,基于主从博弈的综合能源微网与共享储能优化运行研究:电价策略与用户行为互动,matlab 代码基于主从博弈的共享储能

    基于主从博弈的综合能源微网与共享储能优化运行研究:迭代算法探索与利益相关者的博弈策略,基于主从博弈的综合能源微网与共享储能优化运行研究:电价策略与用户行为互动,matlab 代码基于主从博弈的共享储能与综合能源微网优化运行研究 综合能源微网与共享储能的结合具有一定的创新性,在共享储能的背景下考虑微网运营商与用户聚合商之间的博弈关系,微网的收益和用户的收益之间达到均衡。 采用主从博弈的方法,微网运营商作为上层领导者制定价格策略,用户聚合商作为下层跟随者改变用能行为,共享储能商作为辅助设施。 利用迭代式启发式算法和对于MILP问题的CPLEX求解器对博弈模型进行求解,最终达到微网聚合商和用户聚合商的利益双赢的目标。 主要针对文章中的情景四,即含有共享储能和电制热设备进行仿真复现。 参考文献:《基于主从博弈理论的共享储能与综合能源微网优化运行研究_帅轩越》 关键词:综合能源微网;主从博弈;共享储能;电热综合需求响应 ,主从博弈; 共享储能; 综合能源微网; 微网与用户博弈; 收益均衡; 迭代式启发式算法; MILP问题; CPLEX求解器; 共享储能与电制热设备仿真。,基于主从博弈的共享储能

    三菱FX PLC与东元N310变频器Modbus RTU通讯实战程序:实现频率设定、读取及正反转控制功能,附触摸屏注释,三菱FX PLC与东元N310变频器Modbus RTU通讯实战程序:实现频率设

    三菱FX PLC与东元N310变频器Modbus RTU通讯实战程序:实现频率设定、读取及正反转控制功能,附触摸屏注释,三菱FX PLC与东元N310变频器Modbus RTU通讯实战程序:实现频率设定、读取及正反转控制功能,附触摸屏配置和详细注释,三菱FX1N与3台东元Teco N310变频器通讯实战程序 可直接拿来实用了,三菱FX PLC与东元N310变频器modbus RTU通讯 采用器件:三菱FX1N 24MT PLC,1个FX1N 485BD板,3个东元Teco N310系列变频器。 也可以是FX2N,FX2N 485BD 功能:进行频率设定,频率读取,正反转启停。 触摸屏采用MCGS 说明:PLC通讯程序和触摸屏程序,带注释。 只是程序,非硬件设备。 ,关键词:三菱FX1N/FX2N;东元Teco N310变频器;Modbus RTU通讯;频率设定;频率读取;正反转启停;触摸屏MCGS;PLC通讯程序;带注释。,三菱FX系列PLC与东元N310变频器Modbus RTU通讯编程实战指南

    基于STM32的智能衣柜系统设计(论文·)

    基于stm32的智能衣柜设计,包含紫外线杀菌(继电器与led模拟)+除湿风扇(继电器与led模拟)+加温(继电器与led模拟)+语音助手+蓝牙模块+人体感应模块等. 实现的功能描述:1.每30s自动打开紫外线杀菌,温湿度达到阈值自动加温除湿; 2.按键包括:设置加 设置减 设置页面切换 设置点切换 3.屏幕显示年月日 时分秒 星期 温湿度 紫外线倒计时 4.温湿度传感器模块为32和语音模块提供数据,语音可播报当前温湿度和穿衣推荐 5.内置还有人体感应模块自动打开灯光和储物柜全部资料清单:1.作品涉及相关技术教学视频 2.系统设计框图文档 3.电路图图源文件(AD) 4.STM32源代码源文件(Keil) 5.电路AD软件、编程软件Keil安装教程 6.元器件清单 7.系统调试文档 8.所用到元器件的所有资料 9.其他参考资料(论文参考)

    modules-2.7z.005

    modules-2.7z.005

    armv8架构体系结构的基础知识的思维导图,有mindmanager21的原图,加上导出的html5格式的图及csv格式

    armv8架构体系结构的基础知识的思维导图,非常大的一张图,用思维导图方式比阅读书更好理解,里面还在章节里附上了相关的补充介绍方便理解。 里面有mindmanager21的原图,加上导出的html5格式的图及csv格式

    html5唯美爱情表白动画网页代码

    html5唯美爱情表白动画网页代码

    knn,knn资源,模式识别人脸识别项目:使用简单的CNN和KNN等机器学习算法实现人脸分类,分类任务包括:性别、年龄、种族,表情

    knn,knn资源,模式识别人脸识别项目:使用简单的CNN和KNN等机器学习算法实现人脸分类,分类任务包括:性别、年龄、种族,表情。

    双向全桥LLC谐振变换器(CLLLC)拓扑仿真模型与波形图解析:正向反向运行波形对比及文献赠送条件,双向全桥LLC谐振变换器(CLLLC)仿真模型与波形图解析及文献赠送通知,双向全桥LLC谐振变器(C

    双向全桥LLC谐振变换器(CLLLC)拓扑仿真模型与波形图解析:正向反向运行波形对比及文献赠送条件,双向全桥LLC谐振变换器(CLLLC)仿真模型与波形图解析及文献赠送通知,双向全桥LLC谐振变器(CLLLC)型拓扑,下面是仿真模型图,谐振频率下正向运行波形图,反向运行波形图。 联系爽快者送对应的文献。 看清仿真图是开环的 ,双向全桥LLC谐振变换器; CLLLC型拓扑; 仿真模型图; 谐振频率; 正向运行波形图; 反向运行波形图; 文献; 爽快者送。,双向全桥CLLLC谐振变换器:仿真与波形分析

    LabVIEW视觉检测源码框架与NIVISION机器视觉源码:安装工具及项目代开发软件介绍,LabVIEW视觉检测源码框架与NIVISION机器视觉源码集成,附安装工具及项目代开发软件服务简介,Lab

    LabVIEW视觉检测源码框架与NIVISION机器视觉源码:安装工具及项目代开发软件介绍,LabVIEW视觉检测源码框架与NIVISION机器视觉源码集成,附安装工具及项目代开发软件服务简介,LabVIEW视觉检测源码框架NIVISION机器视觉源码 送安装工具默认不包含远程服务,远程技术辅导另计,项目代开发软件定值 ,LabVIEW; 视觉检测; 源码框架; NIVISION; 机器视觉源码; 安装工具; 远程服务; 远程技术辅导; 项目代开发; 软件定值,LabVIEW视觉检测源码框架:NIVISION机器视觉源码集成与安装工具指南

    12个仪表常用术语常用术语

    12个仪表常用术语

    Unity 5.x 从入门到精通

    详细介绍Unity 5.x版本的相关内容

    BLDC无刷直流电机转速电流双闭环调速系统的Simulink仿真设计详解文档,BLDC无刷直流电机转速电流双闭环调速系统的Simulink仿真设计与文档资料分享,BLDC无刷直流电机仿真设计simul

    BLDC无刷直流电机转速电流双闭环调速系统的Simulink仿真设计详解文档,BLDC无刷直流电机转速电流双闭环调速系统的Simulink仿真设计与文档资料分享,BLDC无刷直流电机仿真设计simulink 转速电流双闭环 调速系统 matlab simulink仿真 有整理好的文档,资料很详细,可以直接用,有参考资料, ,BLDC无刷直流电机; Simulink仿真设计; 转速电流双闭环; 调速系统; Matlab Simulink仿真; 整理文档; 详细资料; 参考资料,基于Simulink的BLDC无刷直流电机调速系统仿真设计

Global site tag (gtag.js) - Google Analytics